keepgoing20190801113019
keepgoing20190801113019
全部文章
分类
题解(3)
归档
标签
去牛客网
登录
/
注册
keepgoing20190801113019的博客
全部文章
(共9篇)
题解 | #最长公共子序列(一)#
由于dp[i][j]只和d[i-1][j-1],dp[i-1][j],dp[i][j-1]有关,可以优化使用空间大小,增加几个临时变量, #include <iostream> #include <vector> using namespace std; int main(...
2024-01-19
0
246
题解 | #【模板】哈夫曼编码#
#include <functional> #include <iostream> #include <queue> #include <vector> using namespace std; struct node { long long ...
2024-01-19
0
217
题解 | #汉诺塔问题#
若可以完成操作,则必然可以借助mid把所有前n-1个正确放置到mid上,然后把第n个放到right.这时,mid上有n-1个,left为0,right上为n,可以看成n-1的子问题,只是这时mid为原来的left,left为原来的mid。所以可以分为两步:第一步为借助mid把n-1全放到mid上,然...
2024-01-18
0
251
题解 | #ranko的手表#
可用回溯,剪枝也较容易。由于字符最长是5,所以递归深度较小,数据范围小时和分钟分别是24,60上限,再加上第一个时间必须小于第二个时间,可以剪掉大量无用分枝。最后计算出来的差值分别和要求的极值进行比较,不断更新即可。 #include <cctype> #include <clim...
2024-01-16
0
258
题解 | #最长的括号子串#
class Solution { public: int longestValidParentheses(string s) { int n=s.size(); int cnt = 0; int max = 0; vector&...
2023-12-11
0
220
题解 | #数据分类处理#
#include <climits> #include <iostream> #include <string> #include <vector> #include <algorithm> using namespace std; in...
2023-11-21
0
247
题解 | #求小球落地5次后所经历的路程和第5次反弹的高度#
#include <iostream> using namespace std; int main() {//设置初始高度为h,则结果全部为h和1m所对应结果的乘积 int hei...
2021-05-31
20
1508
二叉树节点间的最大距离问题
求最大距离的方法从左右子树的高度入手。 从根结点看,左子树上距根结点最远的结点到根结点的距离应为左子树的树高+1,右子树同理,那么左子树上存在至少一个结点往根这条路径加上根到右子树上至少某一个结点的距离为左子树高度+右子树高度+1; 但这并不一定就是所有跟离中最远的,比如可以假设某个子结...
2019-08-04
0
1450
在二叉树中找到一个节点的后继节点
在二叉树中找到一个节点的后继节点 二叉树中一个节点的后继节点指的是,二叉树的中序遍历的序列中的下一个节点。 中序遍历,左根右。(若某结点有左子树(一个结点也算子树),则先遍历左子树,然后是根结点,最后是右子树,对于子树调用同样的遍历方法(递归))。 他...
2019-08-04
0
1391