首页 > 编程语言 >10.10算法

10.10算法

时间:2023-10-10 11:56:40浏览次数:79  
标签:楼顶 return int back 算法 push 10.10 dp

爬楼梯
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

 

示例 1:

输入:n = 2
输出:2
解释:有两种方法可以爬到楼顶。
1. 1 阶 + 1 阶
2. 2 阶
示例 2:

输入:n = 3
输出:3
解释:有三种方法可以爬到楼顶。
1. 1 阶 + 1 阶 + 1 阶
2. 1 阶 + 2 阶
3. 2 阶 + 1 阶
 

class Solution { public:     int climbStairs(int n) {         if (n == 1) {         return 1;     }     if (n == 2) {         return 2;     }     vector<int> dp;     dp.push_back(0);     dp.push_back(1);     dp.push_back(2);     for(int i=3;i<=n;i++){         dp.push_back(dp[i-1]+dp[i-2]);     }     return dp[n];     } };   关键:其实问题都可以算作斐波那契数列升级版,思考清楚斐波那契数列就能简单的想通问题,然后使用迭代的方式不会超时,避免了重复计算

标签:楼顶,return,int,back,算法,push,10.10,dp
From: https://www.cnblogs.com/minipython-wldx/p/17754299.html

相关文章

  • 泛型算法(find、count、sort、fill、unique、copy、lambda、迭代器)
    一、概述algorithm中,还有一些数值泛型算法定义在头文件numeric中。算法永远不会执行容器的操作)。1、find和count:#include<iostream>#include<algorithm>#include<numeric>#include<vector>#include<list>usingnamespacestd;usingv_int=vector<int>;usingv_s......
  • .net C# 流量限制令牌桶算法工具类
    流量限制令牌桶算法工具类usingSystem;usingSystem.Collections.Generic;usingSystem.Diagnostics;usingSystem.Threading;usingSystem.Threading.Tasks;namespaceCommon{///<summary>///令牌桶算法工具类///</summary>publicclassTokenB......
  • 文心一言 VS 讯飞星火 VS chatgpt (109)-- 算法导论10.1 7题
    七、用go语言,说明如何用两个队列实现一个栈,并分析相关栈操作的运行时间。文心一言:在Go语言中,我们可以用两个队列(queue1和queue2)实现一个栈。以下是实现代码:packagemainimport"fmt"typeQueuestruct{items[]int}func(q*Queue)Enqueue(itemint......
  • 学到了,原来 gzip 是种`连续分块`的压缩算法
    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯我想要表述的是:假设有10mb的数据使用gzip算法来压缩。有这样可能的做法:分配10mb的缓冲区,一次压缩10mb分配1mb的缓冲区,每次压缩1mb,分为十次压缩如果压......
  • 算法笔记-生成树
    概念定义图:由点和边组成的集合生成图:图中删去若干个点和若干条边后剩下的子图生成树:恰好为树的生成图最小生成树:边权总和最小的生成树严格次小生成树:边权总和严格大于最小生成树且最小 最小生成树KruskalKruskal 是通过贪心法选边加入集合来求最小生成树的算法 算法......
  • SWUST 算法分析与设计 实验报告2
    合并排序实验报告 一、     实验内容及目的实验内容:对合并排序算法进行算法描述、效率分析、实验结果分析。实验目的:深入理解分治法的思想,学习合并排序的排序方法,对合并排序进行算法分析,通过与其他排序算法比较,体会分治思想的优点。分析的指标:在相同数据规模的情况......
  • C#归并排序算法
    前言归并排序是一种常见的排序算法,它采用分治法的思想,在排序过程中不断将待排序序列分割成更小的子序列,直到每个子序列中只剩下一个元素,然后将这些子序列两两合并并排序,最终得到一个有序的序列。归并排序实现原理将待排序序列分割成两个子序列,直到每个子序列中只有一个元素。......
  • 10.9算法
    第一个错误的版本你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有n个版本[1,2,...,n],你想找出导致之后所有版本出错的第一个错误的版本......
  • 监控汇聚/视频监控系统EasyNVRAI智能分析网关:持刀检测算法场景汇总
    安防视频监控平台EasyCVR是一个具有强大拓展性、灵活的视频能力和轻便部署的平台。它支持多种主流标准协议,包括国标GB28181、RTSP/Onvif、RTMP等,还可以支持厂家的私有协议和SDK接入,例如海康Ehome、海大宇等设备的SDK。该平台不仅拥有传统安防视频监控的功能,还具备接入AI智能分析的......
  • KMP算法
    根本原理有限状态机资料链接https://zhuanlan.zhihu.com/p/83334559注:大小设置为256是因为Java的英文采用8位ASCII码,最大值为256......