dfhdfgjd
dfhdfgjd
全部文章
题解
未归档(2)
解题方法(1)
归档
标签
去牛客网
登录
/
注册
LonelyPlanet
人生如逆旅
全部文章
/ 题解
(共8篇)
295. 数据流的中位数
题目 中位数是有序列表中间的数。如果列表长度是偶数,中位数则是中间两个数的平均值。 例如, [2,3,4] 的中位数是 3 [2,3] 的中位数是 (2 + 3) / 2 = 2.5 设计一个支持以下两种操作的数据结构: void addNum(int num) - 从数据流中添加一个整数到数据结构...
排序
堆
数组
多次回顾
刷题
优先队列
2020-05-11
0
659
239. 滑动窗口最大值
题目 给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。 进阶: 你能在线性时间复杂度内解决此题吗? 示例: 输入: nums = [1,3,-1,-3,5,3,6,7]...
单调队列
数组
多次回顾
刷题
双端队列
2020-05-11
0
582
321. 拼接最大数
题目 给定长度分别为 m 和 n 的两个数组,其元素由 0-9 构成,表示两个自然数各位上的数字。现在从这两个数组中选出 k (k <= m + n) 个数字拼接成一个新的数,要求从同一个数组中取出的数字保持其在原数组中的相对顺序。 求满足该条件的最大数。结果返回一个表示该最大数的长度为 k ...
数组
贪心
多次回顾
刷题
2020-05-07
0
1040
4. 寻找两个正序数组的中位数
题目 给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。 请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 nums2 不会同时为空。 示例 1: nums1 = [1, 3]nums2 = [2] 则...
二分
数组
多次回顾
刷题
2020-05-07
0
809
164. 最大间距
给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。 如果数组元素个数小于 2,则返回 0。 示例 1: 输入: [3,6,9,1]输出: 3解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。示例 2: 输入: [10]输出:...
桶
数组
刷题
多次回顾
2020-05-06
0
697
128. 最长连续序列
给定一个未排序的整数数组,找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)。 解法 class Solution { public: int longestConsecutive(vector<int>& nums) { int res = 0; ...
数组
刷题
多次回顾
map
2020-05-06
0
640
123. 买卖股票的最佳时机III
给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 思路 构建数组dp[k][i],代表在第i天的第k笔交易时,我们获取到的最大收益。 在第...
数组
多次回顾
刷题
动态规划
2020-05-05
0
2412
45. 跳跃游戏II
给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 解法 贪心算法 class Solution { public: int jump(vector<int>& nu...
贪心
多次回顾
刷题
2020-05-05
1
818