Fork me on GitHub
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 119 下一页
摘要: 数组去重 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 西西嘛呦 阅读(154) 评论(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 西西嘛呦 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 二分查找模板 def binarySearch(nums, target): left = 0 right = len(nums) - 1 while left <= right: mid = (right + left) // 2 if nums[mid] == target: return Tr 阅读全文
posted @ 2021-02-03 16:14 西西嘛呦 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 一般来说,BFS使用的数据结构是队列。 BFS模板 from collections import deque def BFS(start, target): q = deque() # 核心数据结构 visited = set() # 避免走回头路 q.append(start) # 将起点加入到 阅读全文
posted @ 2021-02-03 14:11 西西嘛呦 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 回溯算法框架: result = [] def backtrack(路径, 选择列表): if 满足结束条件: result.add(路径) return for 选择 in 选择列表: 做选择 backtrack(路径, 选择列表) 撤销选择 多叉树的遍历框架 def traverse(TreeN 阅读全文
posted @ 2021-02-02 14:45 西西嘛呦 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 栈实现队列 class Queue: def __init__(self): self.s1 = [] self.s2 = [] def peek(self): if not self.s2: while self.s1: self.s2.append(self.s1.pop()) return s 阅读全文
posted @ 2021-02-01 19:51 西西嘛呦 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 我们要明确以下几点: 1、二叉堆是一棵完全二叉树; 2、可以构造大顶堆和小顶堆; 3、二叉堆构建优先级队列,以大顶堆为例,每次出队列的值都是当前队列中的最大值; class MaxPQ: def __init__(self): self.n = 0 # 当前优先级队列中的元素,优先级队列:插入或删除 阅读全文
posted @ 2021-02-01 19:20 西西嘛呦 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 239 滑动窗口的最大值 class Solution: def maxSlidingWindow(self, nums: List[int], k: int) -> List[int]: from collections import deque queue = deque() res = [] 阅读全文
posted @ 2021-02-01 11:18 西西嘛呦 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 模板:找到每个元素后面第一个比它大的数,不存在时值为-1 def template(): stack = [] nums = [2,1,2,4,3] res = [-1 for _ in range(len(nums))] for i in range(len(nums)-1,-1,-1): whi 阅读全文
posted @ 2021-01-29 17:07 西西嘛呦 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 295. 数据流的中位数 思路:维护一个大顶堆和一个小顶堆; import heapq class MedianFinder(object): def __init__(self): """ initialize your data structure here. """ self.len = 0 阅读全文
posted @ 2021-01-29 14:17 西西嘛呦 阅读(101) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 119 下一页