疏凉
疏凉
全部文章
分类
题解(101)
归档
标签
去牛客网
登录
/
注册
疏凉的博客
全部文章
(共33篇)
题解 | #和为S的连续正数序列#
滑动窗口 连续数字的和:(left + right) * (right - left + 1) / 2; 如果等于目标值,将该组数字放入结果,窗口左端右移; 如果小于目标值,窗口右端右移; 如果大于目标值,窗口左端右移; 返回最终结果。 class Solution { public: v...
C++
数组
数学
滑动窗口
2022-04-29
0
253
题解 | #连续子数组的最大和(二)#
动态规划,dp数组存储前一最大和、当前最大和; 左区间端点更新条件:前一最大和小于0; 区间端点更新条件:当前最大和更新,或者当前最大和不变但区间范围增大; 遍历完成后,返回区间内的数组元素。 class Solution { public: /** * 代码中的类名、方法名、参...
C++
数组
动态规划
2022-04-29
0
303
题解 | #连续子数组的最大和(二)#
动态规划,定义dp数组记录当前子数组最大和; 区间左端点更新条件:前一子数组最大和小于0; 区间更新条件:当前子数组最大和更新和当前子数组最大和不变但区间增大; 将区间范围内的数组元素放入结果。 class Solution { public: /** * 代码中的类名、方法名、...
C++
数组
动态规划
2022-04-29
0
292
题解 | #数据流中的中位数#
排序后,如果数据长度为偶数,返回中间两个数据的平均值; 如果数据长度为奇数,返回中间数据值。 class Solution { public: vector<int> result; void Insert(int num) { result.push_...
C++
数组
数学
2022-04-28
0
272
题解 | #最小的K个数#
采用优先队列,按照升序排列数组; 将最小的k个数放入结果。 class Solution { public: vector<int> GetLeastNumbers_Solution(vector<int> input, int k) { if (k...
C++
数组
堆(优先队列)
2022-04-28
0
291
题解 | #滑动窗口的最大值#
定义单调栈; 如果当前元素大于队尾对应元素,弹出队尾元素; 如果队首元素和当前遍历索引超过窗口大小,弹出队首元素; 将遍历索引加入队列,如果索引大于窗口大小,将队首元素放入结果。 class Solution { public: vector<int> maxInWindows...
C++
数组
滑动窗口
2022-04-27
0
267
题解 | #和为S的两个数字#
利用数组的有序性,双指针; 如果左右指针元素之和等于sum,返回左右指针元素; 如果左右指针元素之和小于sum,左指针增加; 如果左右指针元素之和大于sum,右指针减少; 没有满足条件,返回空数组。 class Solution { public: vector<int> Fi...
C++
数组
双指针
2022-04-27
0
307
题解 | #和为S的两个数字#
暴力解法容易超时; 定义multiset存放数组; 判断当前遍历值和set内已有元素之和是否满足条件; 如果找到满足要求的元素,返回该元素和当前遍历值; 否则,将当前遍历值加入set; 遍历完后,没有满足条件,返回空数组。 class Solution { public: vector&l...
C++
数组
2022-04-27
0
210
题解 | #调整数组顺序使奇数位于偶数前面(一)#
从后往前遍历,碰到前偶后奇就进行交换; 每一轮都将奇数放于首位,偶数放于末尾。 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param arr...
C++
数组
2022-04-26
1
318
题解 | #兑换零钱(一)#
背包问题,定义dp数组,大小aim+1,初始化为全局最大值aim+1; 一开始dp[0]=0; 遍历更新dp数组的值; 如果能兑换,更新当前目标值的最小兑换数。 返回最终结果,不能兑换返回-1,否则返回最终值。 class Solution { public: /** * 最少货...
C++
数组
动态规划
2022-04-21
0
286
首页
上一页
1
2
3
4
下一页
末页