双指针目前LC上涉及83道题,属于面试的一个高频范围区。我们根据标签分类是可以获取到一部分信息笔试考察范围点的。目前LC上一共是1989道题。概率为83/1989= 4.17%.
双指针的思想可以归纳为:
双指针很奇妙,一快一慢走。
相距K位,可解链表倒数K节点。
相距K位,可解链表是否有环。
相距K位,滑动窗口思想题目跑不了。
持续更新....
双指针公式->固定一方,变动另一方,或者双方一起同步
right = left + K;
//链表倒数第K个节点类问题
while(right.next != null){
left= left.next;
}
return left;
//链表循环检测问题 right比left快一步
right = left + K ; K =1;
while(left != right){
if(left ==null || right.next == null){
return false;
}
left = left.next;
right = right.next.next;
}
滑动窗口公式->固定一方,变动另一方:
when(right - left + 1 > minWindow){
//固定左指针,移动右指针
if(condition1){
//处理使其满足condition2条件,并不符合condition1条件
right++;
}
//固定右指针,移动左指针
if(condition2){
//处理使其满足condition1条件,并不符合condition2条件
left++;
}
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。