剑指offer----变态青蛙跳问题

题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

代码

public class Solution {
    public int JumpFloorII(int target) {
        if(target < 2){
            return 1;
        }
        int[] a = new int[target + 1];
        a[0] = 1;
        a[1] = 1;
        
        for(int i = 2; i <= target; i++){
            for(int j = 0; j < i; j++){
                a[i] += a[j];
            }
        }
        return a[target];
    }
}

与上一篇跳台阶问题类似,只不过这只青蛙比较变态,可以跳无限远。
所以跳到一个台阶有n中选择,从0跳上去,1跳上去,2跳上去。。。。n-1跳上去,都可以。
所以就不太好使用递归了。仍让按照上一次迭代的思路进行求解。
普通青蛙问题——>https://www.jianshu.com/p/aafbb0c75990

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我有一个秘密 蜜蜂会在春天采蜜 我有一个秘密 谁常飞到我的心底 我有一个秘密 采蜜的人应该是你
    即墨云星阅读 147评论 0 3
  • 水仙花 是我们家庭最常见也是最好养的观花植物,伞状花序。花瓣多为6片,花瓣末处呈鹅黄色。白色花带黄色特别漂亮。水仙...
    多肉花客阅读 1,288评论 0 0
  • 那四月的天空,是否也已阴霾? 光的柔波穿越你,降临我的心间, 你是一首恬静的小诗, 纯与爱是你顷刻间婉约的迷梦。 ...
    小曼的岛阅读 245评论 8 13