![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
双指针
一杯小熊
这个作者很懒,什么都没留下…
展开
-
LeetCode 581 最短无序连续子数组
解法:代码:需要注意的地方:left和right初始值的设置,left, right = 0, -1 #为了保证如果是一个排好序的数组返回0class Solution: def findUnsortedSubarray(self, nums: List[int]) -> int: n = len(nums) left, right = 0, -1 #为了保证如果是一个排好序的数组返回0 MIN, MAX = n...原创 2021-05-07 15:54:51 · 36 阅读 · 0 评论 -
删除链表的倒数第n个节点/LeetCode.No.19
用快慢指针,时间复杂度O(n), 空间复杂度O(1)# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution: def removeNthFromEnd(self, head: ListNode, n: int) -&g..原创 2021-01-20 21:24:16 · 56 阅读 · 0 评论 -
盛水最多的容器/LeetCode.No.11/中等
方法:左右两个双指针,时间复杂度O(n)class Solution: def maxArea(self, height: List[int]) -> int: n = len(height) left, right = 0, n-1 res = -1 while left < right: tmp = min(height[left], height[right])*(right-le...原创 2021-01-14 21:27:39 · 43 阅读 · 0 评论 -
汇总区间/LeetCode.No.228
使用双指针,维护left和right两个指针,使用两个while循环分别前进两个指针class Solution: def summaryRanges(self, nums: List[int]) -> List[str]: if not nums: return [] n = len(nums) if n == 1: return [str(nums[0])] left,..原创 2021-01-10 20:51:06 · 42 阅读 · 0 评论