动态规划 跳台阶

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

public static void jump(int[] steps,int target){
            int[] count = new int[target+1];
            for(int i=0;i<count.length;i++){
                count[i] = 0;
            }
            int init = steps[0];
            count[init] = 1;
            for(int i=init+1;i<count.length;i++){
                int sum = 0;
                for(int j=0;j<steps.length;j++){
                    if(i-steps[j]>=0){
                        //跳一步直接跳上去,也可以让stpes[0]=1,则不需要这个判断
                        if(i==steps[j])
                            sum +=1;
                        else{
                            sum += count[i-steps[j]];
                        }
                        
                    }
                }
                count[i] = sum;
                
            }
            System.out.println(Arrays.toString(count));
            
            
        }

 

posted on 2017-08-23 21:43  zhangxiaoyu  阅读(159)  评论(0)    收藏  举报

导航