![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法、双指针法
袁钰琦
这个作者很懒,什么都没留下…
展开
-
双指针法实现线性排序
一般的排序有许多经典算法,如快速排序、希尔排序等。但实际应用时,经常会或多或少有一些特殊的要求。我们没必要套用那些经典算法,可以根据实际情况建立更好的解法。 比如,对一个整型数组中的数字进行分类排序: 使得负数都靠左端,正数都靠右端,0在中部。注意问题的特点是:负数区域和正数区域内并不要求有序。可以利用这个特点通过1次线性扫描就结束战斗!! public static void main(Stri...原创 2020-02-24 22:15:58 · 120 阅读 · 0 评论 -
算法笔记——双指针法
长度最小的子数组: 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。 示例: 输入: s = 7, nums = [2,3,1,2,4,3] 输出: 2 解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组。 与上次的双指针法大同小异,指针j每次都把sum加到符合要求的位置,看这次的j-i...原创 2020-02-20 22:13:33 · 164 阅读 · 0 评论 -
算法笔记——双指针法
最近几天想把寒假做的有关算法的笔记整理出来,其中有很多例题都是出自leetcode,还有一些是参考 《算法竞赛入门经典》,用得比较多的方法有动态规划法、双指针法、回溯法、二分法、递归法等。 今天先双指针法:双指针法的形式有好几种,如同侧出发,两侧逼近(需要先排序,其实遍历两次也可以,但是算法复杂度比较高),两侧远离。 形式一:同侧出发 乘积小于K的子数组 : 给定一个正整数数组 nums。 找出该...原创 2020-02-19 19:42:39 · 260 阅读 · 0 评论