双指针算法有两种
一种是两个指针指向不同的序列,比如归并排序
另一种是两个指针指向相同的序列,比如快速排序
双指针算法的核心思想:优化
对于一个一维数组,查找一段满足要求的区间往往需要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 }