疏凉
疏凉
全部文章
分类
题解(101)
归档
标签
去牛客网
登录
/
注册
疏凉的博客
全部文章
(共101篇)
题解 | #求1+2+3+...+n#
使用递归,实现累加; n=0时,触发返回条件。 class Solution { public: int Sum_Solution(int n) { n && (n += Sum_Solution(n - 1)); return n; ...
C++
数学
2022-04-27
0
199
题解 | #滑动窗口的最大值#
定义单调栈; 如果当前元素大于队尾对应元素,弹出队尾元素; 如果队首元素和当前遍历索引超过窗口大小,弹出队首元素; 将遍历索引加入队列,如果索引大于窗口大小,将队首元素放入结果。 class Solution { public: vector<int> maxInWindows...
C++
数组
滑动窗口
2022-04-27
0
267
题解 | #左旋转字符串#
循环左移; 字符串为空,直接返回; 左移n大于等于字符串长度,取余; 字符串复制为2倍,取区间[n, n+len)返回结果。 class Solution { public: string LeftRotateString(string str, int n) { int ...
C++
字符串
2022-04-27
0
253
题解 | #左旋转字符串#
循环左移; 字符串为空,直接返回; 左移n大于等于字符串长度,取余; 字符串复制为2倍,取区间[n, n+len)返回结果。 class Solution { public: string LeftRotateString(string str, int n) { int ...
C++
字符串
2022-04-27
0
209
题解 | #和为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
题解 | #实现二叉树先序,中序和后序遍历#
递归进行前、中、后序遍历; 记录每种遍历的结果。 /** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ class Solution { public...
C++
二叉树
递归
2022-04-21
0
305
题解 | #兑换零钱(一)#
背包问题,定义dp数组,大小aim+1,初始化为全局最大值aim+1; 一开始dp[0]=0; 遍历更新dp数组的值; 如果能兑换,更新当前目标值的最小兑换数。 返回最终结果,不能兑换返回-1,否则返回最终值。 class Solution { public: /** * 最少货...
C++
数组
动态规划
2022-04-21
0
286
题解 | #买卖股票的最好时机(二)#
定义dp数值,大小prices.size() * 2,记录每天买入后和卖出后的持有最大钱数; 初始化第一天,买入后持有-prices[0],卖出后持有0(当天不能卖出); 确定递推关系: 当天买入后持有最大钱数=max(前一天买入后持有钱数,前一天卖出后持有钱数-当前买入价格); 当天卖出后持有最大...
C++
数组
动态规划
2022-04-21
0
265
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页