1. 算法解释 双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。也可以延伸到多个数组的多个指针。 若两个指针指向同一数组,遍历方向相同且不会相交,则也称为滑动窗口(两个指针包围的区域即为当前的窗口),经常用于区间搜索。 若两个指针指向同一数组,但是遍历方向相反,则可 ...
基础部分 . 两数之和 II 输入有序数组 简单 给定一个已按照 升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index 和 index ,其中 index 必须小于 index 。 说明: 返回的下标值 index 和 index 不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。 示例: . 平方数之和 简单 给定 ...
2020-07-22 16:43 0 482 推荐指数:
1. 算法解释 双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。也可以延伸到多个数组的多个指针。 若两个指针指向同一数组,遍历方向相同且不会相交,则也称为滑动窗口(两个指针包围的区域即为当前的窗口),经常用于区间搜索。 若两个指针指向同一数组,但是遍历方向相反,则可 ...
Leetcode刷题总结 目前已经刷了50道题,从零开始刷题学到了很多精妙的解法和深刻的思想,因此想按方法对写过的题做一个总结 双指针法 双指针法有时也叫快慢指针,在数组里是用两个整型值代表下标,在链表里是两个指针,一般能实现O(n)的时间解决问题,两个指针的位置一般在第一个元素和第二个元素 ...
Leetcode解题思想总结篇:双指针 1概念 双指针:快慢指针。 快指针在每一步走的步长要比慢指针一步走的步长要多。快指针通常的步速是慢指针的2倍。 在循环中的指针移动通常为: faster = faster.next.next; slower = slower.next; 2 应用 ...
LeetCode--链表2-双指针问题 思考问题: 判断一个链表是否有环 列举几种情况: 你可能已经使用哈希表提出了解决方案。但是,使用双指针技巧有一个更有效的解决方案。在阅读接下来的内容之前,试着自己仔细考虑一下。 想象一下,有两个速度不同的跑步者。如果他们在直路上行驶,快跑 ...
问题描述: 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。 注意:答案中不可以包 ...
如下图: 当A[i]=1的时候,最优的A[j]=7 当A[i]=3的时候,最优的A[j]=7 当A[i]=7的时候,最优的A[j]=10 当A[i]=8 ...
指针是C语言中的难点,C++中自然也免不了其身影。 以下是我学习中的积累,不足之处望不吝赐教。 指针类型: 指针 Const int* pstr 不能修改被指向的对象,可以使指针指向其他对象 如:const int* pvalue {&value ...
双指针算法详解 参考链接 链表中快慢指针的妙用 玩转快慢指针 【LeetCode刷题笔记】链表与快慢指针 双指针算法基本原理和实践 练习题 141. 环形链表 面试题 02.08. 环路检测 相关链接 解析滑动窗口 解明动态滑动窗口 ...