首页 > 编程语言 > 详细

算法练习-贪心问题

时间:2020-05-14 20:55:50      阅读:49      评论:0      收藏:0      [点我收藏+]

问题:

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

 

分析:

  (1)、当想要到达n阶时,青蛙的前一个状态可能停留在1~n-1的任意一个范围内。

  (2)、同理,可以将问题逐步分割。

  (3)、到达阶梯1和阶梯2的值时确定的,根据此可以搜索完所有状态。

 

code:

public int JumpFloorII(int target) {
        if(target==0) {
            return 0;                                                                                         
        }else if(target==1) {
            return 1;
        }else {
            int step[] = new int[target+1];
            step[0]=1;//从0位置起跳。
            step[1]=1;
            for(int i=2;i<=target;i++) {
                for(int j=i-1;j>=0;j--) {
                    step[i]+=step[j];
                }
            }
            return step[target];
        }
    }

 

算法练习-贪心问题

原文:https://www.cnblogs.com/dream-flying/p/12891200.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!