⚡冲刺大厂每日算法&面试题⚡动态规划21天——第一天

Posted 肥学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了⚡冲刺大厂每日算法&面试题⚡动态规划21天——第一天相关的知识,希望对你有一定的参考价值。

导读

肥友们为了更好的去帮助新同学适应算法和面试题,最近我们开始进行专项突击一步一步来。我们先来搞一下让大家最头疼的一类算法题,动态规划我们将进行为时21天的养成计划。还在等什么快来一起肥学进行动态规划21天挑战吧!!

21天动态规划入门

动态规划不是一种具体的算法,不像递归,枚举那样又一些特定的标识。相比较动态规划难就难在他的动态变化,以某些变量的动态变化来进行时间,空间上的节省。写动态规划时首先要确定好边界条件这是最主要的。

斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1
开始,后面的每一项数字都是前面两项数字的和。也就是:

F(0) = 0,F(1) = 1 F(n) = F(n - 1) + F(n - 2),其中 n > 1 给你 n ,请计算 F(n) 。

示例 1:

输入:2 输出:1 解释:F(2) = F(1) + F(0) = 1 + 0 = 1
示例 2:

输入:3 输出:2 解释:F(3) = F(2) + F(1) = 1 + 1 = 2

public int fib(int n) {
        if (n < 2) {
            return n;
        }
        int p = 0, q = 0, r = 1;//动态的变化
        for (int i = 2; i <= n; ++i) {
            p = q; 
            q = r; 
            r = p + q;
        }
        return r;
    }

泰波那契序列 Tn 定义如下:

T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2

给你整数 n,请返回第 n 个泰波那契数 Tn 的值。

示例 1:

输入:n = 4 输出:4 解释: T_3 = 0 + 1 + 1 = 2
T_4 = 1 + 1 + 2 = 4
示例 2:

输入:n = 25 输出:1389537

根据上一题很容易解出来

 public int tribonacci(int n) {
        if(n==3){
            return 2;
        }
        if(n==2||n==1)return 1;
        if(n==0)return 0;

        int T0=0,T1=1,T2=1,T=2;
        for(int i=4;i<n+1;i++){
            T0=T1;
            T1=T2;
            T2=T;
            T=T0+T1+T2;
        }
        return T;

    }

面试题

同样也是很重要的面试问题Linux的常用命令之cp

4. cp 命令
(用于复制文件,copy之意,它还可以把多个文件一次性地复制到一个目录下)

-a :将文件的特性一起复制
-p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
-i :若目标文件已经存在时,在覆盖时会先询问操作的进行
-r :递归持续复制,用于目录的复制行为
-u :目标文件与源文件有差异时才会复制

这套Linux面试必学知识肥学会一直更下去,我觉得我一下子都总结出来。大家肯定放在收藏夹吃灰所以我们就每天学习一点,肥学每一天。

特别介绍

📣小白练手专栏,适合刚入手的新人欢迎订阅编程小白进阶

📣python有趣练手项目里面包括了像《机器人尬聊》《恶搞程序》这样的有趣文章,可以让你快乐学python练手项目专栏

📣另外想学JavaWeb进厂的同学可以看看这个专栏:传送们

📣这是个面试和考研的算法练习我们一起加油上岸之路

资料领取

以上是关于⚡冲刺大厂每日算法&面试题⚡动态规划21天——第一天的主要内容,如果未能解决你的问题,请参考以下文章

冲刺大厂每日算法&面试题,动态规划21天——第六天

冲刺大厂每日算法&面试题,动态规划21天——第九天

冲刺大厂每日算法&面试题,动态规划21天——第十天

冲刺大厂每日算法&面试题,动态规划21天——第五天

冲刺大厂每日算法&面试题,动态规划21天——第八天

冲刺大厂每日算法&面试题,动态规划21天——第三天