关于 leetcode 的 70. Climbing Stairs 的问题

2016-09-19 17:45:20 +08:00
 bigpigeon

我的做法是这样

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

难道我忽略什么了?

3220 次点击
所在节点    LeetCode
8 条回复
bigpigeon
2016-09-19 18:11:07 +08:00
timekiller
2016-09-19 18:18:59 +08:00
2112
theFool
2016-09-19 19:34:38 +08:00
Fibonacci ?
czheo
2016-09-19 19:56:43 +08:00
hanzichi
2016-09-19 20:14:28 +08:00
2112 。。。
hanzichi
2016-09-19 20:15:47 +08:00
m 个 1 和 n 个 2 组合总数等于 m*n+1 。。
这怎么推出来的。。很明显是 C(n+m,n) 吧。。

安利下我的题解 Repo => https://github.com/hanzichi/leetcode
zhy0216
2016-09-19 20:25:20 +08:00
2112 ...
bigpigeon
2016-09-19 21:17:21 +08:00
@hanzichi
确实粗心了,非常感谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/307313

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX