问题是:
“你正在爬楼梯,每次可以爬1步或2步。这个楼梯有n个台阶。你能以多少种不同的方式爬完整个楼梯?”
以下是解决此问题的代码解决方案,但我无法理解它。有人可以解释一下吗?
int stairs(int n) {
if (n == 0) return 0;
int a = 1;
int b = 1;
for (int i = 1; i < n; i++) {
int c = a;
a = b;
b += c;
}
return b;
}
谢谢。