摘要: 23. 合并K个升序链表 知识点:链表;递归;分治;堆;单调; 题目描述 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 示例 输入:lists = [[1,4,5],[1,3,4],[2,6]] 输出:[1,1,2,3,4,4,5,6] 解释: 阅读全文
posted @ 2021-08-12 17:22 Curryxin 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 40. 最小的k个数 知识点:Top-K;数组;排序;分治;堆;单调; 题目描述 输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 示例 输入:arr = [3,2,1], k = 2 输出:[ 阅读全文
posted @ 2021-08-12 16:54 Curryxin 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 215. 数组中的第K个最大元素 知识点:数组;排序;分治;堆;单调; 题目描述 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 输入: [3,2,1,5,6,4] 和 k = 2 输出 阅读全文
posted @ 2021-08-12 16:51 Curryxin 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 229. 求众数 II 知识点:数组;消消乐;摩尔投票法; 题目描述 给定一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。 进阶:尝试设计时间复杂度为 O(n)、空间复杂度为 O(1)的算法解决此问题。 示例 输入:[3,2,3] 输出:[3] 输入:nums = [1] 阅读全文
posted @ 2021-08-12 16:08 Curryxin 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 169. 多数元素 知识点:数组;排序;消消乐;分治; 题目描述 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 输入:[3,2,3] 输出:3 输入:[2,2,1,1,1, 阅读全文
posted @ 2021-08-12 15:49 Curryxin 阅读(397) 评论(0) 推荐(0) 编辑
摘要: 【贪心】435. 无重叠区间 知识点:贪心; 题目描述 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 示例 输入: [ [1,2], [2,3], [3,4] 阅读全文
posted @ 2021-08-12 15:25 Curryxin 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 738. 单调递增的数字 知识点:字符串;贪心 题目描述 给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。 (当且仅当每个相邻位数上的数字 x 和 y 满足 x ⇐ y 时,我们称这个整数是单调递增的。) 示例 输入: N = 10 输出: 阅读全文
posted @ 2021-08-12 14:54 Curryxin 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 56. 合并区间 知识点:贪心 题目描述 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。 示例 输入:intervals = [[1 阅读全文
posted @ 2021-08-12 14:33 Curryxin 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 406. 根据身高重建队列 知识点:贪心 题目描述 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构造并返 阅读全文
posted @ 2021-08-12 14:17 Curryxin 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 134. 加油站 知识点:贪心;KMP 题目描述 在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 如果你可以绕环路行驶一 阅读全文
posted @ 2021-08-12 14:02 Curryxin 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 122. 买卖股票的最佳时机 II 知识点:贪心; 题目描述 给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之 阅读全文
posted @ 2021-08-12 11:08 Curryxin 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 860. 柠檬水找零 知识点:贪心 题目描述 在柠檬水摊上,每一杯柠檬水的售价为 5 美元。 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。 每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 阅读全文
posted @ 2021-08-12 11:02 Curryxin 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 376. 摆动序列 知识点:贪心 题目描述 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列 。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。 例如, [1, 7, 4, 9, 2, 5] 是一个 摆动序列 ,因为差值 (6, 阅读全文
posted @ 2021-08-12 10:47 Curryxin 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 452. 用最少数量的箭引爆气球 知识点:贪心 题目描述 在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。 一支弓箭可以沿着 x 轴从不同点完全垂直地射 阅读全文
posted @ 2021-08-12 10:36 Curryxin 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 455. 分发饼干 知识点:贪心; 题目描述 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以 阅读全文
posted @ 2021-08-12 10:26 Curryxin 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 滑动窗口 1.概念 滑动窗口是一类很常见的题型,最常见的就是子串问题,因为滑动窗口是一个连续的,所以很容易就是问满足条件的最大或者最小子串啊,这个条件就是不同的地方,但万变不离其宗,滑动窗口就是一个窗口的移动。 总之:子串+最值 --> 滑动窗口 滑动窗口有两大类 固定长度的滑动窗口:窗口的大小是固 阅读全文
posted @ 2021-08-12 10:00 Curryxin 阅读(1735) 评论(1) 推荐(3) 编辑
摘要: 424. 替换后的最长重复字符 知识点:字符串,滑动窗口; 题目描述 给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次。在执行上述操作后,找到包含重复字母的最长子串的长度。 注意:字符串长度 和 k 不会超过 104。 示例 输入:s = "AB 阅读全文
posted @ 2021-08-12 09:58 Curryxin 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 239. 滑动窗口的最大值 知识点:队列;滑动窗口;单调 题目描述 给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。 示例 输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3 输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值 阅读全文
posted @ 2021-08-12 09:12 Curryxin 阅读(601) 评论(2) 推荐(0) 编辑
Live2D