双指针
qq_30339595
人类,诗意地栖息在大地上。
展开
-
佛洛依德的兔子和乌龟,环形链表双指针问题
leetcode287 寻找重复数给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3分析:因为长度为n+1的数组的下标在0-n之间。题目中给出的这个数组的范围在1...原创 2019-12-16 10:35:37 · 209 阅读 · 0 评论 -
leetcode123. Best Time to Buy and Sell Stock III
题目大意是给你一些股价,选择买入和卖出,使赚得最多,只能买入后卖出,并且只能买卖两次。双指针和动态规划的思想。一个指针从前往后指,记录下从开头到当前的赚最多的一次买卖一个指针从后往前,记录下从当前到数组末尾赚的最多的一次买卖同时加上当前从前往后的买卖,与ans进行比较。class Solution: def maxProfit(self, prices: List[int]) -...原创 2019-11-20 16:24:50 · 105 阅读 · 0 评论 -
leetcode92 reversed Linked List
因为是中间一部分发生逆转,最后的字符串为 左正序链表+中间逆序链表+右边正序链表所以要安排几个指针分别存放左正序链表的头和尾,中间逆序链表的头和尾,右边正序链表的头。首先我们要给链表加个空头,因为有可能从第一个数字就开始旋转。然后先找到左索引的前一个数字,也就是正序链表的尾指针再找到右索引,从左索引到右索引的链表要进行逆序,可以依次逆转,因此要设置逆转完的头指针和尾指针,只要头指针不是右...原创 2019-11-12 13:38:21 · 123 阅读 · 0 评论 -
每日刷题总结
Leetcode 61 rotatelist 这道题要循环右移k位。想到双指针,一个先移动k位。然后当他移动到尾指针的时候停下,交换next。需要注意的地方是循环移位取余。...原创 2019-11-02 10:51:00 · 136 阅读 · 0 评论 -
leetcode42下雨天能接多少水的问题
双指针有一排柱子,那么水肯定是在柱子上面的,把每根柱子上面的水累加就行每根柱子上的水怎么算?每根柱子是被两边的柱子包围住的,那么分别取左右两边最高的柱子,再取这两个柱子的较小值就知道水面的高度了。水面的高度减掉柱子的高度就是柱子上的水。有人会问?这个水一定会是正的吗 ,有没有负的情况,如果这根柱子比两边最高的柱子都高,那就是不盛水。所以每次取两边的最高柱子都要把当前的柱子算上。...原创 2019-10-29 14:07:41 · 200 阅读 · 0 评论 -
leetcode30字符串中寻找concatenation
leetcode 30题目大意算法思想hashtable的理解双指针的理解some tricks一个for循环我们可以写了呀hashtable的应用写写代码吧题目you are given a string, s, and a list of words, words, that are all of the same length. Find all starting indices of ...原创 2019-10-17 19:06:56 · 131 阅读 · 0 评论 -
数组中找三个数和为0 (双指针问题)
class Solution: def threeSum(self, nums: List[int]) -> List[List[int]]: nums.sort() res=set() for k in range(1,len(nums)-1): i,j=0,len(nums)-1 ...原创 2019-09-26 20:46:03 · 702 阅读 · 0 评论