题解——pythonTip44超级楼梯
本文最后更新于:2025年10月14日 晚上
题目描述:
‘’有一楼梯共n级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第n级,共有多少种走法?
现在给你一个正整数n(0<n<40),请你输出不同的走法数。”示例
输入:n = 2
输出:1
思路
这题好熟悉,高中数学,就是排列组合了。用m个1步和k个2步走上台阶,可能的走法。
以需要走7步数为例吧:
step 1 零个1:A^7^7
7=1+1+1+1+1+1+1
step 2 一个2:A^1^6
7=2+1+1+1+1+1
…
step 3 两个2:A^2^5/ A^2^2 (重复元素排序问题)
7=2+2+1+1+1
…
step4 三个2:A^3^4/A^3^3
7=2+2+2+1
…
注意事项
- 题中的n是台阶的阶数,应与要走的阶梯数区分。如n=1时,应输出0,因为不需要走。
- 重复元素排序需考虑重复情况
代码实现
1 |
|