双指针
hjl1997
这个作者很懒,什么都没留下…
展开
-
406. 和大于S的最小子数组
题目描述给定一个由 n 个正整数组成的数组和一个正整数 s ,请找出该数组中满足其和 ≥ s 的最小长度子数组(连续)。如果无解,则返回 -1。样例 给定数组 [2,3,1,2,4,3] 和 s = 7, 子数组 [4,3] 是该条件下的最小长度子数组解题思路 设立两个不断移动的指针l和r,统计满足条件的[l,r]区间的最小值代码public class Main { /* *原创 2017-12-06 11:37:33 · 246 阅读 · 0 评论 -
148. 颜色分类
题目描述给定一个包含红,白,蓝且长度为 n 的数组,将数组元素进行分类使相同颜色的元素相邻,并按照红、白、蓝的顺序进行排序。我们可以使用整数 0,1 和 2 分别代表红,白,蓝。注意事项 不能使用代码库中的排序函数来解决这个问题。 排序需要在原数组中进行。样例 给你数组 [1, 0, 1, 2], 需要将该数组原地排序为 [0, 1, 1, 2]。一个相当直接的解决方案是使用计数排序扫描2遍的原创 2017-12-06 10:35:44 · 197 阅读 · 0 评论 -
Two Sum II
题目描述给定一个已经按升序排列的数组,找到两个数使他们加起来的和等于特定数。 函数应该返回这两个数的下标,index1必须小于index2。注意返回的值不是 0-based。样例给定数组为 [2,7,11,15] ,target = 9 返回 [1,2]首先想到的是通过双重循环遍历数组中所有的数据对找出和为target的两个数,但是这样做的时间复杂度为O(n²)。解题思路 因为数组是已排序的,原创 2017-12-05 20:37:36 · 157 阅读 · 0 评论