70.爬楼梯
2021/12/31 23:07:29
本文主要是介绍70.爬楼梯,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.Go
//递归 :达到n级楼梯,最后一步要么走1步,要么走2步
走一步时,方法数值f(n-1) 走两步时f(n-2) 这样会超时
方法1:记忆化搜索(借助数组储存数值)
//用哈希或者数组都可以 但是数组更快
func climbStairs(n int) int { //dic:=make(map[int]int,500) dic:=make([]int,500) dic[1]=1 dic[2]=2 for i:=3;i<=n;i++{ dic[i]=dic[i-1]+dic[i-2] } return dic[n] }
2.C++
1.递归 会超时 你相当于每次都有计算n前面数值
class Solution { public: int climbStairs(int n) { if(n==1) return 1; if(n==2) return 2; return climbStairs(n-1)+climbStairs(n-2); } };
2. 记忆化搜索(借助数组储存数值)
class Solution { public: int array[500]; int climbStairs(int n) { array[1]=1; array[2]=2; for (int i=3;i<=n;i++){ array[i]=array[i-1]+array[i-2]; } return array[n]; } };
这篇关于70.爬楼梯的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-04百万架构师第六课:设计模式:策略模式及模板模式
- 2025-01-04百万架构师第七课:设计模式:装饰器模式及观察者模式
- 2025-01-04适用于企业管理的协作工具API推荐
- 2025-01-04挑战16:被限流的CPU
- 2025-01-03企业在选择工具时,如何评估其背后的技术团队
- 2025-01-03Angular中打造动态多彩标签组件的方法
- 2025-01-03Flask过时了吗?FastAPI才是未来?
- 2025-01-0311个每位开发者都应知道的免费实用网站
- 2025-01-03从REST到GraphQL:为什么以及我是如何完成转型的
- 2025-01-03掌握RAG:从单次问答到连续对话