【算法零基础100讲题解】第二讲数列——基于Python语言
2021/12/9 22:22:45
本文主要是介绍【算法零基础100讲题解】第二讲数列——基于Python语言,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
- 一、写在前面
- 二、题目解析
- 509.斐波那契数
- 1137.第N个泰波那契数
- [剑指Offer 64.求1+2+...+n的和](https://leetcode-cn.com/problems/qiu-12n-lcof/)
- 896.单调数列
- 三、写在后面
一、写在前面
今天的内容还是一些涉及到数学知识的内容,包含了等差数列,等比数列以及斐波那契数列,尤其需要注意的是斐波那契数列问题,这是一个可变化并且会出现在任何一门语言里的题目。
二、题目解析
509.斐波那契数
class Solution: def fib(self,n:int)->int: if n<2: return n F=[0]*(n+1) F[0]=1 F[1]=1 for i in range(2,n+1): F[i]=F[i-1]+F[i-2] return F[i]
1)当n小于2时,返回n;
2)之后建立一个列表,对索引为0,1的元素赋初值;
3)做循环遍历,按照斐波那契数列的公式写出方法体。
当然这道题目也可以使用递归的方法求解,有基础的话可以思考一下!
1137.第N个泰波那契数
class Solution: def tribonacci(self,n:int)->int: t=[0,1,1] for i in range(3,n+1): t.append(t[i-3]+t[i-2]+t[i-1]) return t[n]
这道题目与第一道有一些类似,不同的是对前三项进行了求和;
1)先建立一个列表,同时为前三项赋初值;
2)做循环,每次将前三项的和对应的值添加在列表末端;
3)根据n输出结果。
剑指Offer 64.求1+2+…+n的和
class Solution: def sumNums(self,n:int)->int: return int(n*(n+1)/2)
题目的本质就是等差数列求和,难点在于限制了我们对循环的使用;
1)直接返回等差数列求和公式,涉及到了数学知识在编程中的应用。
896.单调数列
class Solution: def isMonotonic(self,nums:List[int])->bool: nums_1=sorted(nums) if nums_1==nums or list(reversed(nums_1))==nums: return True return False
这道题目理解起来也是非常的容易,单调既有单调增又有单调减;
我的解法里面应用了Python的内置函数;
1)首先对给定的列表进行了排列;
2)如果该列表单调,则有两种可能,要么排列后和原列表相等,要么列表倒置后与其相等。
很巧的一个方法!
三、写在后面
今天也是一些基础题,题目有相似之处但又不完全一样,学完知识之后做几道类似的题目也是能够熟练掌握了!
对你有帮助的话,还请点赞,有更好的想法的话,也可以评论分享!
这篇关于【算法零基础100讲题解】第二讲数列——基于Python语言的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-04Python外包有哪些常见的主要库-icode9专业技术文章分享
- 2024-10-02基于深度学习的钢铁缺陷检测系统(yolov8、注意力机制、PyQt5界面、Python)
- 2024-10-01怎么用python搭建一个系统-icode9专业技术文章分享
- 2024-09-30Python基础入门教程
- 2024-09-30获取参数学习:Python中的基础教程
- 2024-09-30Python编程基础详解
- 2024-09-29点击加载学习:Python编程基础教程
- 2024-09-29数据科学五大Python前端库:第二部分
- 2024-09-27使用python 将ETH账户的资产打散
- 2024-09-26Python编程基础