- 博客(2)
- 收藏
- 关注
原创 codetop 微软 2/263
215. 数组中的第K个最大元素 NO1 : 堆排 使用最小堆,即堆顶(root) 为最小元素 堆-完全二叉树 找到第K个最大元素 转化为 1. 随机建立大小为k的最小堆 2. 迭代剩余元素,比较剩余元素与堆顶元素大小;若比堆顶小,则过,若比堆顶大,则先出堆,再入堆该元素 3. 目的:找到K个最大元素构成的最小堆,堆顶即为第K个最大元素 * heapq中的heapify、heappop及heappush的复杂度都为线性的 import heapq class solution: d
2022-02-02 12:22:08
989
原创 力扣:滑动窗口题合集
3. 无重复字符的最长子串(滑动窗口) 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 解法一: 一个左指针及右指针 右指针一步步向右滑动直至字符串结尾(for 循环),过程中更新左指针使范围内的字符串符合条件(即从原始左指针开始遍历直到找到重复字符的位置,更新左指针指向重复字符的下一个字符) 全局变量:左指针、最大长度、当前长度、当前左右指针范围内的字符串 临时变量:右指针 class Soluti
2022-01-17 17:52:40
919
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅