首页 > 其他分享 >LeetCode 509 斐波那契数

LeetCode 509 斐波那契数

时间:2022-09-22 15:24:10浏览次数:59  
标签:契数 return int Solution class 斐波 public fib LeetCode

动态规划

const int N  = 40;
class Solution {
public:
    int dp[N];
    int fib(int n) {
        dp[1] = 1;

        for (int i = 2; i <= n; i ++)
            dp[i] = dp[i - 1] + dp[i - 2];

        return dp[n];
    }
};

动态规划压缩到维护两个值

class Solution {
public:
    int dp[2];
    int fib(int n) {
        if (n <= 1) return n;
        
        dp[1] = 1;

        for (int i = 2; i <= n; i ++) {
            int temp = dp[1];
            dp[1] = dp[0] + dp[1];
            dp[0] = temp;
        }

        return dp[1];

    }
};

递归

class Solution {
public:
    int fib(int n) {
        if (n == 0) return 0;

        if (n == 1) return 1;

        return fib(n - 1) + fib(n - 2);
    }
};

标签:契数,return,int,Solution,class,斐波,public,fib,LeetCode
From: https://www.cnblogs.com/hjy94wo/p/16719418.html

相关文章

  • leetcode 105. Construct Binary Tree from Preorder and Inorder Traversal 从前序与
    一、题目大意给定两个整数数组preorder和inorder,其中preorder是二叉树的先序遍历,inorder是同一棵树的中序遍历,请构造二叉树并返回其根节点。示例1:输入:pre......
  • 代码随想录 数组理论基础,二分查找,移除元素 及 LeetCode 704, 27
    数组理论基础数组是存放在连续内存空间上的相同类型数据的集合。数组下标都是从0开始的。数组内存空间的地址是连续的因为数组的在内存空间的地址是连续的,所以我们在......
  • 9.21Leetcode记录
    一、数据流中的中位数题目如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那......
  • LeetCode 做题 简单【 删除排序链表中的重复元素】 链表
    【删除排序链表中的重复元素】给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。示例1:输入:head=[1,1,2]输......
  • LeetCode组合总和
    组合总和前言在上篇文章通过组合问题看透回溯法当中我们通过介绍一个组合问题,仔细地分析了组合问题的回溯过程。我们之后会继续介绍一些比较经典的回溯算法题,帮助深入彻......
  • Swift — LeetCode — 两个数组的交集 II
    我正在参加“掘金·帆船计划”话题给你两个整数数组数字1和数字2,请将两个数组的交集作为数组返回。返回结果中每个元素的出现次数应与该元素在两个数组中出现的次数......
  • 刷题笔记(leetcode02-两数相加)
    普通的循环解法,C代码:1/**2*Definitionforsingly-linkedlist.3*structListNode{4*intval;5*structListNode*next;6*};7......
  • LeetCode 698
    LeetCode2022.9.20的打卡题目698划分为k个相等的子集[https://leetcode.cn/problems/partition-to-k-equal-sum-subsets]给定一个整数数组  nums和一个正整数k,......
  • 9.20Leetcode记录
    一、字符串的排列题干:输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。示例:输入:s="abc"输出:["abc","a......
  • LeetCode/划分k个相等的子集
    给定一个整数数组nums和一个正整数k,找出是否有可能把这个数组分成k个非空子集,其总和都相等一.回溯法1.对每个数,回溯放入子集(球视角)只关心每个球是否成功放入,......