楼梯孩子总是得到0
staircase child always getting a 0?
本文关键字:孩子 更新时间:2023-10-16
嗨,我是递归的初学者。
问题:
一个孩子正在爬楼梯,他一次可以跳 1、2 或 3 步,我需要找到并返回他可以爬上某个楼梯数的方法数量?
我的方法:
我试图将问题划分为较小的基本情况,并在达到正确的 ans 时添加 1。
我的代码:
void helper(int n ,int& a){
if(n==0){
a = a+1;
return;
}
if(n<0)
return;
helper(n-1,a);
helper(n-2,a);
helper(n-3,a);
}
int staircase(int n){
int ans = 0;
helper(n,ans);
return ans;
}
问题:
我似乎只得到0
答案?
我不
明白为什么你的代码不起作用。这是它进行一些更改的演示:现场演示
建议您不要传入参考,而是将步骤 1、2 或 3 的每个子问题都设置为自包含问题,您将结果组合在一起,这是类似于以下内容的最终答案:
int staircase_without_reference(int n)
{
if(n == 0) return 1;
if(n < 0) return 0;
return staircase(n - 1) + staircase(n - 2) + staircase(n - 3);
}
这将返回类似于没有引用参数的程序。
相关文章:
- 更改"child's parent's style sheet"时如何将孩子的样式表重置为 Qt 默认样式表?
- 为什么 isVisible 在 QWidget 孩子中不起作用
- OOP使用不同的结构与孩子一起构建建议
- c ++如何将模板应用于模板类的孩子/朋友?
- 如何防止父进程在孩子死后丢失控制台输入?
- 我可以制作一个基于孩子具有不同回报的虚函数吗?
- C 从子线中杀死所有父母的孩子
- 为什么父母的方法在孩子被摧毁后仍然存在
- 有没有办法按类名找到 QObject 孩子?
- 如何在树上像孩子一样使用unique_ptr
- 破坏的父母和孩子的顺序
- 如果是双重注册,如何从Boost树中删除孩子
- 将PID从孩子转移到父母
- 使用boost.process同时读取和写入孩子的STDIO
- 从家长处获取孩子的类名
- 在我关闭刚开始的孩子对话框并进入父母对话框之后,我的QT桌面应用程序不断崩溃
- 添加一个孩子(引擎统一)
- 如果孩子不需要父母班级的所有受保护成员,这是不好的班级设计吗?
- 我怎样才能得到一个QObject的孩子?
- 如何从父级C 发送给孩子的唤醒信号