每日一题(day1)

前言

💫你好,我是辰chen,一个正在考研途中的 s o p h o m o r e sophomore sophomore d o g dog dog😖
💫目前每日一题主要来自于 leetcode,当然也可能来自洛谷或其他刷题平台,每日一题专栏地址:每日一题
💫欢迎大家的关注,我的博客主要关注于考研408以及AIoT的内容

🌟 每日一题我会给出两种代码, C C C版以及 P y t h o n Python Python版,刷题的目的是为了考研的算法题以及机试(或手写代码)
🌟这也是为什么不用 C + + C++ C++ 而用 C C C P y t h o n Python Python版代码是为了提高语言熟练度(以后开发大概率用的是 P y t h o n Python Python
🌟 坚持打卡!踏踏实实走好每一步

以下的几个专栏是本人比较满意的专栏(大部分专栏仍在持续更新),欢迎大家的关注:

💥ACM-ICPC算法汇总【基础篇】
💥ACM-ICPC算法汇总【提高篇】
💥AIoT(人工智能+物联网)
💥考研
💥CSP认证考试历年题解

👊每日一句也许终点只有绝望和失败,但这绝不是停止前行的理由。

大家做完可以在评论区打卡留言✒️,形成良好的学习氛围,一起进步!

LeetCode 509. 斐波那契数

题目链接:LeetCode 509. 斐波那契数

题目描述:

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

F ( 0 ) = 0 , F ( 1 ) = 1 F(0) = 0,F(1) = 1 F(0)=0F(1)=1
F ( n ) = F ( n − 1 ) + F ( n − 2 ) F(n) = F(n - 1) + F(n - 2) F(n)=F(n1)+F(n2),其中 n > 1 n > 1 n>1

给定 n n n ,请计算 F ( n ) F(n) F(n)

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

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

示例 3:
输入: n = 4 n = 4 n=4
输出: 3 3 3
解释: F ( 4 ) = F ( 3 ) + F ( 2 ) = 2 + 1 = 3 F(4) = F(3) + F(2) = 2 + 1 = 3 F(4)=F(3)+F(2)=2+1=3

提示:
0 < = n < = 30 0 <= n <= 30 0<=n<=30

C版AC代码:

int fib(int n){
    if (n < 2) return n;
    else{
        int a = 0, b = 0, c = 1;
        for (int i = 2; i <= n; i ++ ){
            a = b;
            b = c;
            c = a + b;
        }
        return c;
    }
}

Python版AC代码:

class Solution:
    def fib(self, n: int) -> int:
        if n < 2:
            return n
        else:
            a, b = 0, 1
            for i in range(2, n + 1):
                c = a + b
                a, b = b, c
            return c

LeetCode 1137. 第 N 个泰波那契数

题目链接: LeetCode 1137. 第 N 个泰波那契数

题目描述:

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

T 0 = 0 , T 1 = 1 , T 2 = 1 T_0 = 0, T_1 = 1, T_2 = 1 T0=0,T1=1,T2=1, 且在 n > = 0 n >= 0 n>=0 的条件下 T n + 3 = T n + T n + 1 + T n + 2 T_{n+3} = T_n + T_{n+1} + T_{n+2} Tn+3=Tn+Tn+1+Tn+2

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

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

示例 2:
输入: n = 25 n = 25 n=25
输出: 1389537 1389537 1389537

提示:
0 < = n < = 37 0 <= n <= 37 0<=n<=37
答案保证是一个 32 32 32 位整数,即 a n s w e r < = 2 31 − 1 answer <= 2^{31} - 1 answer<=2311

C版AC代码:

int tribonacci(int n){
    if (n == 0) return 0;
    else if (n <= 2) return 1;
    else{
        int a = 0, b = 0, c = 1, d = 1;
        for (int i = 3; i <= n; i ++ ){
            a = b;
            b = c;
            c = d;
            d = a + b + c;
        }
        return d;
    }
}

Python版AC代码:

class Solution:
    def tribonacci(self, n: int) -> int:
        if n == 0:
            return 0
        elif n <= 2:
            return 1
        else:
            a, b, c = 0, 1, 1
            for i in range(3, n + 1):
                s = a + b + c
                a, b, c = b, c, s
            return s

  • 11
    点赞
  • 3
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:程序猿惹谁了 设计师:我叫白小胖 返回首页
评论

打赏作者

辰chen

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值