前言
💫你好,我是辰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;
}
}
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<=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;
}
}
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