1. 算法解释 双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。也可以延伸到多个数组的多个指针。 若两个指针指向同一数组,遍历方向相同且不会相交,则也称为滑动窗口(两个指针包围的区域即为当前的窗口),经常用于区间搜索。 若两个指针指向同一数组,但是遍历方向相反,则可 ...
Leetcode解题思想总结篇:双指针 概念 双指针:快慢指针。 快指针在每一步走的步长要比慢指针一步走的步长要多。快指针通常的步速是慢指针的 倍。 在循环中的指针移动通常为: faster faster.next.next slower slower.next 应用 . . 用来判断链表是否有环以及寻找环入口 Linked List Cycle Linked List Cycle II 是否有环 ...
2015-08-06 17:37 0 6509 推荐指数:
1. 算法解释 双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。也可以延伸到多个数组的多个指针。 若两个指针指向同一数组,遍历方向相同且不会相交,则也称为滑动窗口(两个指针包围的区域即为当前的窗口),经常用于区间搜索。 若两个指针指向同一数组,但是遍历方向相反,则可 ...
终于刷完了leetcode的前250道题的easy篇。好吧,其实也就60多道题,但是其中的套路还是值得被记录的。 至于全部code,请移步github,题目大部分采用python3,小部分使用C,如有问题和建议,欢迎指正。 String 有一个string库,可以返回各种string ...
Leetcode刷题总结 目前已经刷了50道题,从零开始刷题学到了很多精妙的解法和深刻的思想,因此想按方法对写过的题做一个总结 双指针法 双指针法有时也叫快慢指针,在数组里是用两个整型值代表下标,在链表里是两个指针,一般能实现O(n)的时间解决问题,两个指针的位置一般在第一个元素和第二个元素 ...
基础部分 167. 两数之和 II - 输入有序数组 简单 给定一个已按照*升序排列* 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 inde ...
只用于个人的学习和总结。 178. Rank Scores 一、表信息 二、题目信息 对上表中的成绩由高到低排序,并列出排名。当两个人获得相同分数时,取并列名次,且名词中无断档。 Write a SQL query to rank scores. ...
常见算法技巧之——双指针思想 欢迎访问我的个人主页 双指针思想是指设置两个指针解决一些算法问题。一般用的比较多的就是去解决数组、链表类的问题,还有很耳熟能详的二分查找问题。本文将根据自己平时做题的总结以及在网上看到的其他大佬的总结讲解来讨论一下双指针的使用技巧。本文会根据我平时做题实时更新 ...
LeetCode--链表2-双指针问题 思考问题: 判断一个链表是否有环 列举几种情况: 你可能已经使用哈希表提出了解决方案。但是,使用双指针技巧有一个更有效的解决方案。在阅读接下来的内容之前,试着自己仔细考虑一下。 想象一下,有两个速度不同的跑步者。如果他们在直路上行驶,快跑 ...
问题描述: 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。 注意:答案中不可以包 ...