每日一题(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)=0,F(1)=1
F ( n ) = F ( n − 1 ) + F ( n − 2 ) F(n) = F(n - 1) + F(n - 2) F(n)=F(n−1)+F(n−2),其中 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;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
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<=231−1。
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;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
文章来源: chen-ac.blog.csdn.net,作者:辰chen,版权归原作者所有,如需转载,请联系作者。
原文链接:chen-ac.blog.csdn.net/article/details/124149079
- 点赞
- 收藏
- 关注作者
评论(0)