云海翻腾
云海翻腾
全部文章
题解
C++(5)
程序/算法设计(2)
归档
标签
去牛客网
登录
/
注册
云海翻腾的博客
day day up
全部文章
/ 题解
(共4篇)
题解 | #机器人的运动范围#
从[0,0]开始向右或向下进行探索,直到不满足threshold就停止。 停止理由是如果当前坐标都不满足threshold,那么右下方就不可能有满足的坐标。 class Solution { public: char ** newMaxtrix(int rows, int cols) { ...
C++
回溯
递归
2021-10-16
0
348
题解 | #矩形覆盖#
f(n)表示2*n(横为n,竖为2)时的结果。 当最后一列选择竖放时,即为f(n - 1) 当最后一列选择横放时,即为f(n - 2) 所以f(n) = f(n - 1) + f(n - 2),类斐波那契数列,递归式如下: f(n)={f(n−1)+f(n−2),n>21,n=12,n=2f(...
C++
动态规划
递归
2021-10-16
0
267
题解 | #二叉搜索树的后序遍历序列#
BST的特点是对任意结点,左子树小于该结点,右子树大于该结点。 后序遍历产生的序列为左子树-右子树-结点。 所以可知后序遍历序列的最后一个元素即为BST的根,再根据大小规律,可以找到左右子树对应的序列。递归处理这两个序列即可。 找左右子树序列时可采用二分查找法,虽然左右子树序列不是完全有...
C++
排序树
二叉树
递归
2021-10-16
0
421
题解 | #在二叉树中找到两个节点的最近公共祖先#
方法一 通过深度优先遍历,分别找出从根到两个结点的路径, 如1-2-3和1-2-5,那么路径的相同部分1-2的最后一个结点2即是最近祖先 方法二 递归考虑: 如果当前结点为空,返回空;否则看当前结点是否为两个结点中的一个,只要是,那么当前结点一定是最近祖先,否则,递归左树: 左树中没找到,递归右树...
C++
二叉树
递归
深度优先搜索
2021-10-11
0
362