- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
看了共同点之后stair climbing problem ,我开始怀疑这是否可以抽象为一个函数,该函数允许输入楼梯数和允许的最大增量步数作为参数。
我希望能够用这个签名编写一个函数。如果 max_step_increment
是 4,这意味着爬楼梯的人可以一次走 1、2、3 或 4 步。
def stair_paths(num_steps, max_step_increment):
...
return answer
我会将此函数称为 stair_paths(10, 4)
。
最佳答案
用 Java 解决。如果您的方法声明是:
int stairPaths(int numSteps, int maxStepIncrement)
正如你所定义的,这里是动态规划的解决方案:
int stairPaths(int numSteps, int... stepsAllowed)
{
if (stepsAllowed.length == 0) {
return 0;
}
Arrays.sort(stepsAllowed);
if (stepsAllowed[0] < 1) {
throw new IllegalArgumentException("Invalid step increment " + stepsAllowed[0]);
}
int maxStepIncrement = stepsAllowed[stepsAllowed.length - 1];
int[] priorElements = new int[maxStepIncrement];
priorElements[maxStepIncrement - 1] = 1;
priorElements[maxStepIncrement - 2] = 1;
for (int i = 2; i <= numSteps; i++) {
int nextElement = 0;
for (int j = 0; j < stepsAllowed.length; j++) {
nextElement += priorElements[maxStepIncrement - stepsAllowed[j]];
}
for (int k = 1; k < maxStepIncrement; k++) {
priorElements[k - 1] = priorElements[k];
}
priorElements[maxStepIncrement - 1] = nextElement;
}
return priorElements[maxStepIncrement - 1];
}
关于algorithm - 抽象 "stair climbing"算法以允许用户输入允许的步长增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21289130/
这个问题在这里已经有了答案: Explain this dynamic programming climbing n-stair code (3 个答案) 关闭 6 年前。 问题是:你正在爬楼梯。到
我正在尝试创建一个 ViewPager 来可视化此图片中的 fragment 页面: 我正在阅读的页面位于接下来两三页的顶部,作为一种阶梯。当我向左滑动时,页面会向左移动,然后从顶部到达下一个页面。
尝试使用 pdf2ps 和来自 Kyocera 1370DN 的 ghostscript 打印从 pdf 创建的 postscript 时出现此错误: %!PS-Adobe-3.0
看了共同点之后stair climbing problem ,我开始怀疑这是否可以抽象为一个函数,该函数允许输入楼梯数和允许的最大增量步数作为参数。 我希望能够用这个签名编写一个函数。如果 max_s
题目地址:https://leetcode.com/problems/min-cost-climbing-stairs/description/open in new window 题目描述 On
如果没有 JavaScript,是否可以创建一个流动的阶梯级联元素? 含义: [1] [2] [3] [.] 对于任意数量的元素依此类推。 我正在使用这样的标记:
一个人正在跑 n 步楼梯,一次可以走 1 步、2 步或 3 步。现在编写一个程序来计算 child 有多少种可能的跑楼梯方式。 给出的代码如下 public static int countDP(in
我得到这样的阶梯输出 我的程序工作正常,除了当我打印一个新行,然后在当前行打印一些东西时,它显示在下一行,但前面有一些空格。 程序是这样的:(打印一个从 0 到 9 的多个数字的表格): data_s
您可能以前在 Java 1 类中见过它:这是一个要求您编写一个绘制下图的程序的问题: 我必须使用一个常量。除了 for 循环、print 和 println 之外,我不能使用任何东西。没有参数,没有数
在使用 Monitor.PulseAll() 进行线程同步的库中,我注意到从调用 PulseAll(...) 到线程被唤醒的延迟似乎遵循“阶梯”分布 - - 步幅极大。被唤醒的线程几乎没有做任何工作;
我在 LeetCode 上做题,Climbing Stairs ,内容如下: 我想出了以下基于深度优先搜索的解决方案: class Solution: def climbStairs(self
我在概念上无法理解众所周知的 n 阶梯攀爬问题的解决方案。 n阶梯问题是: 你有 n 步要爬。您一次只能爬 1 或 2 个台阶。找到到达第 N 步的方法数。 为简单起见,我们只使用 n = 2 的情况
我是一名优秀的程序员,十分优秀!