双指针算法

双指针算法有两种

一种是两个指针指向不同的序列,比如归并排序

另一种是两个指针指向相同的序列,比如快速排序

 

双指针算法的核心思想:优化

对于一个一维数组,查找一段满足要求的区间往往需要O(n^2)的时间

而双指针算法可将O(n^2)优化成O(n)

1 for(int i = 0, j = 0; i < n; i++)
2 {
3   if(j <= i && check(j)) j++;
4   ...
5 }

 

posted @ 2019-07-10 16:07  roov  阅读(2)  评论(0编辑  收藏  举报