Fork me on GitHub
摘要: 借鉴快速排序的思想 快速排序代码 def quicksort(nums): l = 0 r = len(nums)-1 _quicksort(nums, l, r) def _quicksort(nums, left, right): l = left r = right if l < r: tmp 阅读全文
posted @ 2021-02-04 19:08 西西嘛呦 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 前缀和主要适用的场景是原始数组不会被修改的情况下,频繁查询某个区间的累加和。 差分数组的主要适用场景是频繁对原始数组的某个区间的元素进行增减。 class Difference: def __init__(self, nums): self.nums = nums self.diff = self. 阅读全文
posted @ 2021-02-04 15:17 西西嘛呦 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 求连续子数组的和 def subarraySum(nums): preSum = [0 for _ in range(len(nums)+1)] for i in range(len(nums)): preSum[i+1] = preSum[i] + nums[i] return preSum nu 阅读全文
posted @ 2021-02-04 14:21 西西嘛呦 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 数组去重 def removeDuplicates(nums): n = len(nums) if n == 0: return 0 slow,fast = 0,1 while fast < n: if nums[fast] != nums[slow]: slow += 1 nums[slow] = 阅读全文
posted @ 2021-02-04 11:08 西西嘛呦 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 模板 left,right = 0,0 while right < len(s): windows.append(s[right]) right += 1 while (windows needs shrink): window.pop(0) left += 1 leetcode 76 最小覆盖子串 阅读全文
posted @ 2021-02-04 10:03 西西嘛呦 阅读(452) 评论(0) 推荐(0) 编辑