文件名称:leetcode走楼梯-GeneralizedSolutionClimbingStairs:使用Python和数学创建爬楼梯问题的通用解决方案
文件大小:6KB
文件格式:ZIP
更新时间:2024-07-20 23:49:20
系统开源
leetcode 走踏板LeetCode 问题:爬楼梯 问题描述指出您正在爬楼梯。 需要n步才能到达顶部。 每次您可以爬 1 或 2 个台阶。 你可以通过多少种不同的方式登上顶峰? (问题可以在 。) 我发现这个问题真的很有趣,因为问题的核心是组合学。 有一些方法可以在不使用组合算法的情况下解决这个问题,但是组合算法可以使用任何小于n的步长来解决更大的更一般的爬楼梯问题。 原问题的解决方案 我们先举一个n = 3 的例子。 我们的第一个解是 1, 1, 1。然后我们也有 1, 2 和 2, 1 作为不同的不同解。 由于 1, 2 和 2, 1 被认为是不同的解,所以这些是集合 {1, 2} 的排列。 我们现在进行第一个观察:我们正在寻找 {1, 1, 1, ..., 2, 2, 2, ...} 的排列,其中集合的总和等于n 。 置换具有重复元素的集合需要使用多项式系数,cf 和 。 从n = 3 的示例中,我们正在寻找 {1, 2} 的排列数。 然后我们有: ,它等于 2。请注意,该公式源于有 2 个符号,1 重复 1 次,2 重复 1 次。 另一种解是{1, 1, 1},使用多项式系
【文件预览】:
GeneralizedSolutionClimbingStairs-master
----images()
--------third_eqn.gif(614B)
--------fourth_eqn.gif(398B)
--------second_eqn.gif(583B)
--------first_eqn.gif(673B)
----climbing_stairs.py(2KB)
----README.md(5KB)