首页 > 编程语言 >代码随想录算法训练营-动态规划-1|509. 斐波那契数、70. 爬楼梯

代码随想录算法训练营-动态规划-1|509. 斐波那契数、70. 爬楼梯

时间:2023-09-23 11:56:03浏览次数:39  
标签:契数 爬楼梯 int 70 随想录 斐波 509

509. 斐波那契数  

 1 class Solution:
 2     def fib(self, n: int) -> int:
 3         if n <= 2:
 4             return n
 5 
 6         prev1, prev2 = 0, 1
 7         for _ in range(2, n+1):
 8             sum_value = prev1 + prev2
 9             prev1, prev2 = prev2, sum_value
10         
11         return prev2

70. 爬楼梯

 1 class Solution:
 2     def climbStairs(self, n: int) -> int:
 3         if n <= 1:
 4             return n
 5         
 6         prev1, prev2 = 1, 2
 7         
 8         for _ in range(3, n + 1):
 9             curr = prev1 + prev2
10             prev1, prev2 = prev2, curr
11         
12         return prev2

 

标签:契数,爬楼梯,int,70,随想录,斐波,509
From: https://www.cnblogs.com/wuyijia/p/17724029.html

相关文章

  • [代码随想录]Day52-单调栈part03
    题目:84.柱状图中最大的矩形思路:实现要确定一个核心问题:包含完整一个柱子的最大矩形要找到这根柱子左侧最后一个高于他的柱子以及右侧最后一个高于他的柱子的位置(等同于左侧第一个小于他,右侧第一个小于他,因为+1-1就是)只要get到一个点,比如:30507080607040这一段柱子,在......
  • 代码随想录算法训练营day17 | ● 110.平衡二叉树 ● 257. 二叉树的所有路径 ● 404.
    110.平衡二叉树classSolution{public:intgetHeight(TreeNode*node){if(node==NULL)return0;intleftHeight=getHeight(node->left);if(leftHeight==-1)return-1;intrightHeigh......
  • 题解 P8670 [蓝桥杯 2018 国 B] 矩阵求和
    题目描述\[\sum_{i=1}^n\sum_{j=1}^n\gcd(i,j)^2\]具体思路solution1显然可以每次枚举\(\gcd(i,j)\)的取值。\[\sum_{k=1}^nk^2\sum_{i=1}^n\sum_{j=1}^n[\gcd(i,j)=k]\]令\(i=\lfloor\frac{i}{k}\rfloor\),\(j=\lfloor\frac{j}{k}\rfloor\)。\[\sum......
  • 已解决 File “F:\File_Anaconda\2020CV\yolov5-master\20200701.py“, line 5 Sy
    已解决File“F:\File_Anaconda\2020CV\yolov5-master\20200701.py”,line5SyntaxError:Non-UTF-8codestartingwith‘\xc0’infileF:\File_Anaconda\2020CV\yolov5-master\20200701.pyonline5,butnoencodingdeclared;seehttp://python.org/dev/peps/pe......
  • [代码随想录]Day51-单调栈part02
    题目:503.下一个更大元素II思路:总之就是走两次nums,可以拼接,也可以用下面的取余方式。代码:funcnextGreaterElements(nums[]int)[]int{lens:=len(nums)res:=make([]int,lens)fori:=0;i<lens;i++{res[i]=-1}stack:=make(......
  • 代码随想录算法训练营-贪心算法-5|56. 合并区间、738. 单调递增的数字、968. 监控二叉
    56. 合并区间时间复杂度:O(nlogn)空间复杂度:O(logn),排序需要的空间开销1classSolution:2defmerge(self,intervals):3result=[]4iflen(intervals)==0:5returnresult#区间集合为空直接返回67int......
  • ISO2000及27001评审报告
    为验证公司体系文件的适宜性、充分性和有效性,评价和寻求信息安全和服务管理体系改进的机会和变更的需要(包括管理方针和管理目标),根据《管理手册》和XX年管理评审计划的要求,公司在20XX年X月X日下午13点-15点在公司会议室召开20XX年管理评审会议。本次会议由管理者代表主持,公司管理委......
  • [代码随想录]Day50-单调栈part01
    题目:思路:要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置,此时我们就要想到可以用单调栈了维护一个栈顶->栈底由小到大的栈;这样在之后(右侧)遇到更大的数时,就可以得到所有在他前面并且比他小的数,就能获得结果。初始化默认为0;代码:funcdailyTemperatures(n......
  • 随想录Day1|704. 二分查找、27. 移除元素
    随想录Day1|704.二分查找、27.移除元素 704.二分查找LeetCode题目文章讲解视频讲解给定n个元素升序的整形数组nums和一个目标值target,写一个函数搜索nums中的target,如果存在目标值则返回下标,否则返回-1。其中nums中的元素不重复,n在[1,10000]之间,nums的每个元素都在[-......
  • 算法学习 |Day 1 数组基础 704. 二分查找,27. 移除元素
    704.二分查找思路:二分查找的前置条件是数组有序且无重复元素,每次通过改变边界值来缩小查找范围。自己写的:可以看到对边界的判断存在问题,基本思路是左闭右闭,但是while循环的判断是按照左闭右开来写的。对于数组中仅包含一个元素且该元素是目标函数的情况会出错。重新调试后......