04 2022 档案

2022-4-30双指针
摘要:18. 四数之和 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复): 0 <= a, b, c, d 阅读全文

posted @ 2022-04-30 17:28 阿ming 阅读(27) 评论(0) 推荐(0)

2022-4-29 双指针
摘要:15. 三数之和 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 1 class Solution { 2 public List<List 阅读全文

posted @ 2022-04-29 13:58 阿ming 阅读(23) 评论(0) 推荐(0)

2022-4-28 滑动窗口
摘要:239. 滑动窗口最大值 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 1 class Solution { 2 public int[] maxSlidi 阅读全文

posted @ 2022-04-28 12:15 阿ming 阅读(30) 评论(0) 推荐(0)

2022-4-27 滑动窗口
摘要:567. 字符串的排列 给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1 的排列。如果是,返回 true ;否则,返回 false 。 换句话说,s1 的排列之一是 s2 的 子串 。 1 import java.util.Arrays; 2 class Solution { 阅读全文

posted @ 2022-04-27 15:08 阿ming 阅读(20) 评论(0) 推荐(0)

2022-4-26 滑动窗口
摘要:438. 找到字符串中所有字母异位词 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串(包括相同的字符串)。 1 class Solution { 2 public List<Integer> 阅读全文

posted @ 2022-04-26 12:24 阿ming 阅读(34) 评论(0) 推荐(0)

2022-4-25 滑动窗口
摘要:76. 最小覆盖子串 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 注意: 对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。 如果 s 中存在这样的子串,我们保 阅读全文

posted @ 2022-04-25 13:28 阿ming 阅读(21) 评论(0) 推荐(0)

2022-4-24 滑动窗口
摘要:3. 无重复字符的最长子串 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 1 class Solution { 2 public int lengthOfLongestSubstring(String s) { 3 int l=0,r=0,ans=0; 4 Set<Char 阅读全文

posted @ 2022-04-24 10:55 阿ming 阅读(19) 评论(0) 推荐(0)

2022-4-23二分查找
摘要:1011. 在 D 天内送达包裹的能力 传送带上的包裹必须在 days 天内从一个港口运送到另一个港口。 传送带上的第 i 个包裹的重量为 weights[i]。每一天,我们都会按给出重量(weights)的顺序往传送带上装载包裹。我们装载的重量不会超过船的最大运载重量。 返回能在 days 天内将 阅读全文

posted @ 2022-04-23 09:54 阿ming 阅读(16) 评论(0) 推荐(0)

2022-4-22 二分查找
摘要:875. 爱吃香蕉的珂珂 珂珂喜欢吃香蕉。这里有 n 堆香蕉,第 i 堆中有 piles[i] 根香蕉。警卫已经离开了,将在 h 小时后回来。 珂珂可以决定她吃香蕉的速度 k (单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉 k 根。如果这堆香蕉少于 k 根,她将吃掉这堆的所有香蕉,然后这 阅读全文

posted @ 2022-04-22 13:27 阿ming 阅读(13) 评论(0) 推荐(0)

2022-4-21 二分查找
摘要:392. 判断子序列 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。 进阶: 如果有大量输入的 S,称作 S1, S2, 阅读全文

posted @ 2022-04-21 14:50 阿ming 阅读(22) 评论(0) 推荐(0)

2022-4-20 二分查找
摘要:354. 俄罗斯套娃信封问题 给你一个二维整数数组 envelopes ,其中 envelopes[i] = [wi, hi] ,表示第 i 个信封的宽度和高度。 当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。 请计算 最多能有多少个 信封能组成一 阅读全文

posted @ 2022-04-20 14:52 阿ming 阅读(27) 评论(0) 推荐(0)

2022-4-19 二分查找
摘要:704. 二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 1 class Solution { 2 public int search(int[] nums, int 阅读全文

posted @ 2022-04-19 12:53 阿ming 阅读(19) 评论(0) 推荐(0)

2022-4-18 面试高频题
摘要:34. 在排序数组中查找元素的第一个和最后一个位置 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 进阶: 你可以设计并实现时间复杂度为 O(log n) 的算法解决此 阅读全文

posted @ 2022-04-18 23:43 阿ming 阅读(22) 评论(0) 推荐(0)

2022-4-17 面试高频题
摘要:454. 四数相加 I 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, k, l < n nums1[i] + nums2[j] + nums3[k] + nums4[l] = 阅读全文

posted @ 2022-04-17 14:00 阿ming 阅读(23) 评论(0) 推荐(0)

2022-4-16 高频题
摘要:395. 至少有 K 个重复字符的最长子串 给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串, 要求该子串中的每一字符出现次数都不少于 k 。返回这一子串的长度。 1 class Solution { 2 public int longestSubstring(String s, i 阅读全文

posted @ 2022-04-16 18:54 阿ming 阅读(20) 评论(0) 推荐(0)

2022-4-15 面试高频题
摘要:378. 有序矩阵中第 K 小的元素 给你一个 n x n 矩阵 matrix ,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。请注意,它是 排序后 的第 k 小元素,而不是第 k 个 不同 的元素。 你必须找到一个内存复杂度优于 O(n2) 的解决方案。 1 class Soluti 阅读全文

posted @ 2022-04-15 14:11 阿ming 阅读(20) 评论(0) 推荐(0)

2022-4-14 面试高频题
摘要:324. 摆动排序 II 给你一个整数数组 nums,将它重新排列成 nums[0] < nums[1] > nums[2] < nums[3]... 的顺序。 你可以假设所有输入数组都可以得到满足题目要求的结果。 1 class Solution { 2 public void wiggleSor 阅读全文

posted @ 2022-04-14 12:32 阿ming 阅读(17) 评论(0) 推荐(0)

2022-4-13 面试高频题
摘要:341. 扁平化嵌套列表迭代器 给你一个嵌套的整数列表 nestedList 。每个元素要么是一个整数,要么是一个列表;该列表的元素也可能是整数或者是其他列表。请你实现一个迭代器将其扁平化,使之能够遍历这个列表中的所有整数。 实现扁平迭代器类 NestedIterator : NestedItera 阅读全文

posted @ 2022-04-13 13:30 阿ming 阅读(27) 评论(0) 推荐(0)

2022-4-12 面试高频题
摘要:289. 生命游戏 根据 百度百科 , 生命游戏 ,简称为 生命 ,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机。 给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态: 1 即为 活细胞 (live),或 0 即为 死细胞 (dead) 阅读全文

posted @ 2022-04-12 14:36 阿ming 阅读(26) 评论(0) 推荐(0)

2022-4-11 面试高频题
摘要:287. 寻找重复数 给定一个包含 n + 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 ,返回 这个重复的数 。 你设计的解决方案必须 不修改 数组 nums 且只用常量级 O(1) 的额外空 阅读全文

posted @ 2022-04-11 13:17 阿ming 阅读(20) 评论(0) 推荐(0)

2022-4-10 高频面试题
摘要:279. 完全平方数 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11 不是。 1 class Solution { 2 public i 阅读全文

posted @ 2022-04-10 17:32 阿ming 阅读(28) 评论(0) 推荐(0)

2022-4-9 高频面试题
摘要:236. 二叉树的最近公共祖先 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 1 /** 2 * 阅读全文

posted @ 2022-04-09 13:56 阿ming 阅读(31) 评论(0) 推荐(0)

2022-4-8 高频面试题
摘要:238. 除自身以外数组的乘积 给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请不要使用除法,且在 O 阅读全文

posted @ 2022-04-08 12:25 阿ming 阅读(29) 评论(0) 推荐(0)

2022-4-7 高频面试题
摘要:208. 实现 Trie (前缀树) Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。 请你实现 Trie 类: Trie() 初始化前缀树对象。 void insert(String 阅读全文

posted @ 2022-04-07 18:44 阿ming 阅读(29) 评论(0) 推荐(0)

2022-4-6 高频面试题
摘要:152. 乘积最大子数组 给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 测试用例的答案是一个 32-位 整数。 子数组 是数组的连续子序列。 1 class Solution { 2 public int maxPr 阅读全文

posted @ 2022-04-06 11:17 阿ming 阅读(30) 评论(0) 推荐(0)

2022-4-5 高频面试题
摘要:179. 最大数 给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。 注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。 1 class Solution { 2 public String largestNumber(int[] nums) { 阅读全文

posted @ 2022-04-05 15:53 阿ming 阅读(22) 评论(0) 推荐(0)

2022-4-4 高频面试题
摘要:148. 排序链表 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 1 /** 2 * Definition for singly-linked list. 3 * public class ListNode { 4 * int val; 5 * ListNode nex 阅读全文

posted @ 2022-04-04 15:54 阿ming 阅读(24) 评论(0) 推荐(0)

2022-4-3 高频题
摘要:131. 分割回文串 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。 1 class Solution { 2 public List<List<String>> partition(String s 阅读全文

posted @ 2022-04-03 14:00 阿ming 阅读(25) 评论(0) 推荐(0)

2022-4-2 高频面试题
摘要:54. 螺旋矩阵 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 1 class Solution { 2 public List<Integer> spiralOrder(int[][] matrix) { 3 int m=matrix.lengt 阅读全文

posted @ 2022-04-02 16:56 阿ming 阅读(20) 评论(0) 推荐(0)

导航