题解 | #斐波那契数列#

备忘录法

package DP;
//斐波那契 备忘录法
public class test1 {
    public static void main(String[] args) {
        Solution01 solution01 = new Solution01();
        int a=solution01.Fibonacci(4);
        System.out.println(a);

    }

}
class Solution01 {
    public int Fibonacci(int n) {
        int Memo[]=new int[n+1];
        for (int i = 0; i < Memo.length; i++) {
            Memo[i]=-1;
        }
        return fib(n,Memo);
    }
    public int fib(int n,int Memo[]){
        int res=0;
        Memo[0]=0;
        if (n==1){
            Memo[n]=1;
            res=Memo[n];
        }
        if (n>=2){
            if (Memo[n]!=-1){
                res=Memo[n];
            }
            else{
                Memo[n]=fib(n-1,Memo)+fib(n-2,Memo);
                res=Memo[n];
            }
        }

        return res;
    }
}

自底向上

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

    }
}


全部评论

相关推荐

回家当保安:今天刚过字节一面,接佬的好运
我的求职进度条
点赞 评论 收藏
分享
饥饿的长颈鹿就要上岸...:简历五项结构 简历只放五项内容,顺序和格式如下: 一、个人信息 只写名字、电话、邮箱 不写性别、年龄、籍贯、政治面貌、微信等额外信息 二、教育经历 格式:学校名称 | 学历 | 专业 | 就读时间 从左到右排列,一行写完 如果专业和岗位对口,写1-2行主修课程;不对口就不写 学历如果不占优势,可以把教育经历放到简历靠后的位置 三、实习/项目经历 如果没有实习经历,全部写项目经历 每条经历格式:项目名 + 岗位名 + 任职时间段 下面写三到五条工作内容 每条工作内容开头必须用四个字概括,加粗,后面跟一条完整描述 所有描述必须用STAR法则来写(情境-任务-行动-结果) 每一条都要有数据支撑和具体成果 四、个人优势 可以写获得的奖项、证书 如果奖项不够,就写你熟练掌握的技能 每条也要有具体数据或成果支撑,不能空泛堆砌 五、整体要求 一页纸,不要超过一页 个人信息只写名字加电话邮箱 贝贝试一下这个方式写简历,我虽然没收到offer,至少收到了好几轮面试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务