云海翻腾
云海翻腾
全部文章
分类
C++(5)
程序/算法设计(2)
题解(29)
归档
标签
去牛客网
登录
/
注册
云海翻腾的博客
day day up
全部文章
(共5篇)
题解 | #机器人的运动范围#
从[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
题解 | #汉诺塔问题#
汉诺塔问题采用递归法分析 问题抽象 f(n, a, b, c)表示将n个盘子(从上到下分别记作1,2,3...n)从a柱借助b柱移动到c柱 递归公式 f(n, a, b, c) = f(n - 1, a, c, b) + "mov number n to c" + f(n - 1...
C++
递归
2021-10-09
0
346