我的做法是这样
func climbStairs(n int) int {
sum := 0
for i, j := n, 0; i >= 0; i, j = i-2, j+1 {
sum += i*j + 1
}
return sum
}
我发现 m 个 1 和 n 个 2 组合总数等于 m*n+1
但当我提交时却报错:
Input:
6
Output:
12
Expected:
13
但我去验证发现确实应该是 12 个才对啊 楼梯数为 6 的爬法
111111
11112
11121
11211
12111
21111
1122
1212
1221
2121
2211
222
难道我忽略什么了?
1
bigpigeon OP |
2
timekiller 2016-09-19 18:18:59 +08:00 via iPhone 1
2112
|
3
theFool 2016-09-19 19:34:38 +08:00 1
Fibonacci ?
|
5
hanzichi 2016-09-19 20:14:28 +08:00
2112 。。。
|
6
hanzichi 2016-09-19 20:15:47 +08:00 1
m 个 1 和 n 个 2 组合总数等于 m*n+1 。。
这怎么推出来的。。很明显是 C(n+m,n) 吧。。 安利下我的题解 Repo => https://github.com/hanzichi/leetcode |
7
zhy0216 2016-09-19 20:25:20 +08:00 1
2112 ...
|