❤️大厂编程题实战+Leecode训练

代码 代码 1490 人阅读 | 0 人回复

<
媒介+阐明

❤️旺仔兄弟们!假如觉得专主分享的没有错,期望能留下您的一键❤️三连❤️(面赞+批评+珍藏) ,您的撑持便是我的动力❤️,您的三连对我出格主要。
说明:下述题目只用于进修交换所用,抑制用于贸易销售。同时正在题解圆里也期望各人能提出贵重倡议,配合前进❤️!

1、斐波那契数(Leecode_509)

  [size=3.5][color=+grey] 题目形貌:
斐波那契数,凡是用 F(n) 表示,构成的序列称为 斐波那契数列 。该数列由 0 战 1 开端,后背的每项数字皆是前里两项数字的战。也便是:
     F(0) = 0,F(1) = 1
     F(n) = F(n - 1) + F(n - 2),其中 n > 1
     给您 n ,请计较 F(n) 。

[size=3.9]样例1:
  输进: 2
输出: 1
表白: F(2) = F(1) + F(0) = 1 + 0 = 1
[size=3.9]样例2:
  输进: 3
输出: 2
表白: F(3) = F(2) + F(1) = 1 + 1 = 2
[size=3.9]样例.3:
  输进: 4
输出: 3
表白: F(4) = F(3) + F(2) = 2 + 1 = 3
【办法一】:递回
参考代码:
[code]import java.util.Scanner;public class Leecode509_Fib {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        int n = sc.nextInt();        int ans = fib(n);        System.out.println(ans);    }    public static int fib(int n){        if (n<span class="token operator">1 时,每项的战皆即是前两项的战,因而有以下递推干系:F(n)=F(n−1)+F(n−2)
因为斐波那契数存正在递推干系,因而可使用静态计划供解。静态计划的形态转移圆程即为上述递推干系,界线前提为 F(0) 战 F(1)。
按照形态转移圆程战界线前提,能够获得工夫庞大度战空间庞大度皆是 O(n) 的完成。因为 F(n) 只战 F(n−1)取 F(n−2)有闭,因而可使用「转动数组思惟」把空间庞大度劣化成 O(1)。</p>
150618hytqfthqsupqd0fj.gif

参考代码:
[code]import java.util.Scanner;public class Leecode509_Fib {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        int n = sc.nextInt();        int ans = fib(n);        System.out.println(ans);    }    public static int fib(int n){        int[] arr = new int[3];        arr[0] = 0;arr[1]=1;        if (n<span class="token operator">
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,按照目前互联网开放的原则,我们将在不通知作者的情况下,转载文章;如果原文明确注明“禁止转载”,我们一定不会转载。如果我们转载的文章不符合作者的版权声明或者作者不想让我们转载您的文章的话,请您发送邮箱:Cdnjson@163.com提供相关证明,我们将积极配合您!
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并自负版权等法律责任。
回复 关闭延时

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则