疏凉
疏凉
全部文章
题解
归档
标签
去牛客网
登录
/
注册
疏凉的博客
全部文章
/ 题解
(共101篇)
题解 | #和为S的连续正数序列#
滑动窗口 连续数字的和:(left + right) * (right - left + 1) / 2; 如果等于目标值,将该组数字放入结果,窗口左端右移; 如果小于目标值,窗口右端右移; 如果大于目标值,窗口左端右移; 返回最终结果。 class Solution { public: v...
C++
数组
数学
滑动窗口
2022-04-29
0
253
题解 | #把数字翻译成字符串#
动态规划,定义dp数组,初始化为1; 当nums[i-1]='0'时,如果nums[i-2]='1'或'2'时,dp[i]=dp[i-2],否则返回0; 当nums[i-1]='1'~'6'时,如果nums[i-2]='1'或'2'时,dp[i]=dp[i+-1]+dp[i-2],否则返回dp[i]...
C++
动态规划
2022-04-29
0
309
题解 | #最长不含重复字符的子字符串#
定义map存储窗口内的字符; 如果新加入字符重复,窗口左区间右移,并删除相应元素的计数; 结果记录最大窗口区间差值; 遍历完后,返回最终结果。 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 ...
C++
字符串
滑动窗口
2022-04-29
0
348
题解 | #礼物的最大价值#
动态规划,定义dp数组大小为m*n(与grid大小一致),记录当前最大值; 初始化,dp[0][0]为grid[0][0],第一行和第一列为该行和该列的累加值; 只能向下或向右移动,确定递推关系:dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]) + grid[i]...
C++
动态规划
2022-04-29
0
362
题解 | #矩形覆盖#
number <= 3,直接返回; 定义dp记录前两项的值; 递推:当前项=前两项之和; 返回最后结果。 class Solution { public: int rectCover(int number) { if (number <= 3) return n...
C++
动态规划
2022-04-29
0
283
题解 | #矩形覆盖#
递归 递推公式:f(n)=f(n-1)+f(n-2); class Solution { public: int rectCover(int number) { if (number <= 3) return number; return rectCo...
C++
递归
2022-04-29
0
278
题解 | #连续子数组的最大和(二)#
动态规划,dp数组存储前一最大和、当前最大和; 左区间端点更新条件:前一最大和小于0; 区间端点更新条件:当前最大和更新,或者当前最大和不变但区间范围增大; 遍历完成后,返回区间内的数组元素。 class Solution { public: /** * 代码中的类名、方法名、参...
C++
数组
动态规划
2022-04-29
0
303
题解 | #连续子数组的最大和(二)#
动态规划,定义dp数组记录当前子数组最大和; 区间左端点更新条件:前一子数组最大和小于0; 区间更新条件:当前子数组最大和更新和当前子数组最大和不变但区间增大; 将区间范围内的数组元素放入结果。 class Solution { public: /** * 代码中的类名、方法名、...
C++
数组
动态规划
2022-04-29
0
292
题解 | #把二叉树打印成多行#
层序遍历 记录每一层的数值; 返回最终结果。 /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val...
C++
二叉树
广度优先搜索
2022-04-28
0
304
题解 | #二叉树中和为某一值的路径(三)#
双重递归; 外层递归: 当前树为空返回 判断当前树满足路径数; 继续判断当前树的左右子树是否有满足路径; 遍历完成返回结果。 内层递归: 当前节点为空返回; 当前节点值等于目标值,结果+1; 处理左节点; 处理右节点。 /** * struct TreeNode { * int val; *...
C++
二叉树
深度优先搜索
2022-04-28
0
267
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页