我是靠谱客的博主 威武指甲油,最近开发中收集的这篇文章主要介绍剑指 Offer 10- II. 青蛙跳台阶问题(简单)思路:代码:分解:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

思路:

此题与剑指offer 10-I一样,都有三种方法:

i)递归

ii)非递归:

    1)动态规划dp数组

    2)动态规划优化的常量存值

具体代码可看博文:(https://blog.csdn.net/di_ko/article/details/115818352)

 

代码:

方法二:

class Solution {
    public int numWays(int n) {
		int[] dp=new int[n];
		
		if(n<2) return n;
		dp[0]=0;
		dp[1]=1;
		
		for(int i=2;i<=n;i++){
			dp[i]=dp[i-1]+dp[i-2];
			dp[i]=dp[i]%1000000007;
		}
		return dp[n];
    }
}

方法三:

class Solution {
    public int numWays(int n) {
        int a = 1, b = 1, sum;
        for(int i = 0; i < n; i++){
            sum = (a + b) % 1000000007;
            a = b;
            b = sum;
        }
        return a;
    }
}

最后

以上就是威武指甲油为你收集整理的剑指 Offer 10- II. 青蛙跳台阶问题(简单)思路:代码:分解:的全部内容,希望文章能够帮你解决剑指 Offer 10- II. 青蛙跳台阶问题(简单)思路:代码:分解:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部