首页 > 编程语言 >C++速通LeetCode简单第17题-爬楼梯

C++速通LeetCode简单第17题-爬楼梯

时间:2024-09-16 15:52:22浏览次数:10  
标签:速通 17 int 假设 C++ 那契 方法 数是 数列

思路要点:将问题转化为求斐波那契数列的第n项,然后迭代。

思路分析:最后一次爬的阶数不是1就是2,假设爬n阶的方法数是f(n),假设最后一次爬1阶,那么爬前面的 n-1阶的方法数是f(n-1);假设最后一次爬2阶,那么爬前面n-1阶的方法数是f(n-2)。所以可以得到:f(n) = f(n-1) + f(n-2),也就是斐波那契数列,只是f(1) = 1,f(2) = 2。这样递推下去f(3) = 3, f(4) = 5......

class Solution {
public:
    int p = 1;
    int q = 2;
    int r = 0;
    int climbStairs(int n) {
        if(n == 1) r = p;
        if(n == 2) r = q;
        else
        {
            for(int i = 0;i < n-2;i++)
            {
                r = p + q;
                p = q;
                q = r;
            }
        }
        return r;
    }
};

 

标签:速通,17,int,假设,C++,那契,方法,数是,数列
From: https://blog.csdn.net/weixin_47768406/article/details/142299130

相关文章

  • Day15 二叉树part05| LeetCode 654.最大二叉树,617.合并二叉树 ,700.二叉搜索树中的搜索
    654.最大二叉树654.最大二叉树classSolution{publicTreeNodeconstructMaximumBinaryTree(int[]nums){if(nums.length==1)//遍历到了叶子节点{returnnewTreeNode(nums[0]);}intmaxValue=nums[0......
  • 速通x86(一)
    根据王爽所编写的汇编语言进行复习和总结0x00产生早期电脑使用机器语言(如1000100111011000->movax,bx),但是不方便阅读且记忆,所以开发了汇编语言的编译器,将汇编语言转为机器码.0b0000分类发展至今有三类指令汇编指令:机器码的助记符,有对应的机器码伪指令:无对应机......
  • 【C++】模板进阶:深入解析模板特化
    C++语法相关知识点可以通过点击以下链接进行学习一起加油!命名空间缺省参数与函数重载C++相关特性类和对象-上篇类和对象-中篇类和对象-下篇日期类C/C++内存管理模板初阶String使用String模拟实现Vector使用及其模拟实现List使用及其模拟实现容器适配器Stack与Queue本章将......
  • 20240917_213927 python 编码小题
    需求提示#在____________上补充代码#不要修改其他代码f=input("请输入一个单词:")print("{}".format("____________"))print("____________".format(f))......
  • 20240917_223927 python 编码小题
    需求提示#在____________上补充代码#不要修改其他代码defvfun(x,b):____________:x+=____________returnxlc=____________print(vfun(10,lc))......
  • 【C++】queue和priority_queue
    个人主页~queue和priority_queue一、queue的介绍和使用1、queue的介绍2、queue的使用3、queue的模拟实现二、priority_queue的介绍和使用1、priority_queue的介绍2、priority_queue的使用3、priority_queue的模拟实现三、仿函数1、仿函数的特征2、仿函数的使用ex、......
  • 用chatgpt让自己练习C++匿名函数
    再也不用去搜罗题目了,chatgpt1分钟搞定!如何使用ChatGPT帮助自己学习1、写prompt帮我写一个prompt,让LLM出一个c++专项训练的题目和题解,比如用户想学习C++的匿名函数,LLM就生成一个小型题目,题解全部是用C++匿名函数实现的。chatgpt:当然可以!以下是一个为训练C++匿名函......
  • C++ 成员函数指针简单测试
    classDog{public:voidUpdate_Func(shorti);short(Dog::*pfunc)(short);std::function<short(short)>ffunc;public:shortgoodMorning(shortid);shortgoodAfternoon(shortid);};voidDog::Update_Func(shorti){switch(i)......
  • 【GESP】C++一级练习BCQM3005,基本输出语句printf
    一道基础练习题,练习基本输出语句printf。BCQM3005题目要求描述输出表达式1234∗5678的结果。输入无输出1234∗5678=7006652输入样例无输出样例1234*5678=7006652全文详见个人独立博客:https://www.coderli.com/gesp-1-bcqm3005/【GESP】C++一级练习B......
  • C++数据结构-二叉树的三种遍历方法(进阶篇)
    1.遍历简介:树作为非线性数据结构,在我们取出数据时就需要设计遍历,所谓遍历,就是按照一定的规则性,将数据结构中的所有数据全部依次访问,而二叉树本身并不具有天然的全局次序,故为实现遍历,需通过在各节点与其孩子之间约定某种局部次序,间接地定义某种全局次序,这便是我们常规定的先序......