随笔分类 - 双指针
摘要:给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 最多出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 说明: 为什么返回数值是整数,但输出的答案是数组呢? 请注意,输入数组是以「引用」方式
阅读全文
摘要:给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复): 0 <= a, b, c, d < na、b、c
阅读全文
摘要:给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 示例: 输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近
阅读全文
摘要:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例 1: 输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],
阅读全文
摘要:1721. 使括号有效的最少添加 中文English 给定一个由 '(' 和 ')' 括号组成的字符串 S,我们需要添加最少的括号( '(' 或是 ')',可以在任何位置),以使得到的括号字符串有效。 从形式上讲,只有满足下面几点之一,括号字符串才是有效的: 它是一个空字符串,或者 它可以被写成 A
阅读全文
摘要:548. 两数组的交集 II 中文English 给定两个数组,计算两个数组的交集 样例 样例1 输入: nums1 = [1, 2, 2, 1], nums2 = [2, 2] 输出: [2, 2] 样例2 输入: nums1 = [1, 1, 2], nums2 = [1] 输出: [1] 挑战
阅读全文
摘要:1667. 区间统计 CAT 专属题目 中文English 给定一个01数组 arr 和 一个整数 k, 统计有多少区间符合如下条件: 区间的两个端点都为 0 (允许区间长度为1) 区间内 1 的个数不多于 k 样例 样例 1: 输入: arr = [0, 0, 1, 0, 1, 1, 0], k
阅读全文
摘要:6. 合并排序数组 II 中文English 合并两个有序升序的整数数组A和B变成一个新的数组。新数组也要有序。 样例 样例 1: 输入: A=[1], B=[1] 输出:[1,1] 样例解释: 返回合并后的数组。 样例 2: 输入: A=[1,2,3,4], B=[2,4,5,6] 输出: [1,
阅读全文
摘要:64. 合并排序数组 中文English 合并两个排序的整数数组A和B变成一个新的数组。 样例 样例 1: 输入:[1, 2, 3] 3 [4,5] 2 输出:[1,2,3,4,5] 解释: 经过合并新的数组为[1,2,3,4,5] 样例 2: 输入:[1,2,5] 3 [3,4] 2 输出:[1,
阅读全文
摘要:918. 三数之和 中文English 给定一个n个整数的数组和一个目标整数target,找到下标为i、j、k的数组元素0 <= i < j < k < n,满足条件nums[i] + nums[j] + nums[k] < target. 样例 样例1 输入: nums = [-2,0,1,3],
阅读全文
摘要:637. 检查缩写字 中文English 给定一个非空字符串 word 和缩写 abbr,返回字符串是否可以和给定的缩写匹配。比如一个 “word” 的字符串仅包含以下有效缩写: ["word", "1ord", "w1rd", "wo1d", "wor1", "2rd", "w2d", "wo2"
阅读全文
摘要:143. 排颜色 II 中文English 给定一个有n个对象(包括k种不同的颜色,并按照1到k进行编号)的数组,将对象进行分类使相同颜色的对象相邻,并按照1,2,...k的顺序进行排序。 样例 样例1 输入: [3,2,2,1,4] 4 输出: [1,2,2,3,4] 样例2 输入: [2,1,1
阅读全文
摘要:31. 数组划分 中文English 给出一个整数数组 nums 和一个整数 k。划分数组(即移动数组 nums 中的元素),使得: 所有小于k的元素移到左边 所有大于等于k的元素移到右边 返回数组划分的位置,即数组中第一个位置 i,满足 nums[i] 大于等于 k。 样例 例1: 输入: [],
阅读全文
摘要:257. 最长字符串链 中文English 给出一个单词列表,其中每个单词都由小写英文字母组成。如果我们可以在 word1 的任何地方添加一个字母使其变成 word2,那么我们认为 word1 是 word2 的前身。例如,"abc" 是 "abac" 的前身。词链是单词 [word_1, word
阅读全文
摘要:521. 去除重复元素 中文English 给一个整数数组,去除重复的元素。 你应该做这些事 1.在原数组上操作2.将去除重复之后的元素放在数组的开头3.返回去除重复元素之后的元素个数 样例 例1: 输入: nums = [1,3,1,4,4,2] 输出: [1,3,4,2,?,?] 4 解释: 1
阅读全文
摘要:58. 四数之和 中文English 给一个包含n个数的整数数组S,在S中找到所有使得和为给定整数target的四元组(a, b, c, d)。 样例 例1: 输入:[2,7,11,15],3 输出:[] 例2: 输入:[1,0,-1,0,-2,2],0 输出: [[-1, 0, 0, 1] ,[-
阅读全文
摘要:148. 颜色分类 中文English 给定一个包含红,白,蓝且长度为 n 的数组,将数组元素进行分类使相同颜色的元素相邻,并按照红、白、蓝的顺序进行排序。 我们可以使用整数 0,1 和 2 分别代表红,白,蓝。 样例 样例 1 输入 : [1, 0, 1, 2] 输出 : [0, 1, 1, 2]
阅读全文
摘要:59. 最接近的三数之和 中文English 给一个包含 n 个整数的数组 S, 找到和与给定整数 target 最接近的三元组,返回这三个数的和。 样例 例1: 输入:[2,7,11,15],3 输出:20 解释: 2+7+11=20 例2: 输入:[-1,2,1,-4],1 输出:2 解释: -
阅读全文
摘要:382. 三角形计数 中文English 给定一个整数数组,在该数组中,寻找三个数,分别代表三角形三条边的长度,问,可以寻找到多少组这样的三个数来组成三角形? 样例 样例 1: 输入: [3, 4, 6, 7] 输出: 3 解释: 可以组成的是 (3, 4, 6), (3, 6, 7), (4, 6
阅读全文
摘要:1879. 两数之和 VII 中文English 给定一个已经 按绝对值升序排列 的数组,找到两个数使他们加起来的和等于特定数。 函数应该返回这两个数的下标,index1必须小于index2。注意返回的值是0-based。 你不能对该数组进行排序。 样例 输入: [0,-1,2,-3,4] 1 输出
阅读全文