【LeetCode】剑指 Offer(4)
目录
写在前面:
题目:剑指 Offer 10- I. 斐波那契数列 - 力扣(Leetcode)
题目的接口:
解题思路:
代码:
过啦!!!
题目:剑指 Offer 10- II. 青蛙跳台阶问题 - 力扣(Leetcode)
题目的接口:
解题思路:
代码:
过啦!!!
小总结:
写在最后:
写在前面:
军训好累,没话说了。
题目:剑指 Offer 10- I. 斐波那契数列 - 力扣(Leetcode)

题目的接口:
class Solution {
public:int fib(int n) {}
};
解题思路:
直接根据斐波那契数列的特性,
写一个循环即可。
代码:
class Solution {
public:int fib(int n) {//设置f1和f2两个变量作为计算数列下一个数的前两个数int f1 = 0;int f2 = 1;//这是题目的要求,我们利用一下,这样整形变量的大小就够用int m = (1e9 + 7);//这是第一个数和第二个数的情况if(n == 0){return 0;}if(n == 1){return 1;}int ret = 0;//写一个循环,根据斐波那锲数列规则计算下一个值for(int i = 0;i<n-1;i++){//按题目要求取模ret = (f1 + f2) % m;f1 = f2;f2 = ret;}return ret;}
};
过啦!!!

循环就是比递归快,时间超过100%了。
题目:剑指 Offer 10- II. 青蛙跳台阶问题 - 力扣(Leetcode)

题目的接口:
class Solution {
public:int numWays(int n) {}
};
解题思路:
这道题一开始看的时候我是有点懵的,
然后我就算了一下条几级台阶会有几种方法,
0级台阶1种方法;(题目给了个示例)
1级台阶1种方法;
2级台阶2种方法;
3级台阶3种方法;
(如果先跳1级,就变成2级台阶的跳法;先跳2级,就变成1级台阶的跳法)
1 + 2 就等于3种方法。
4级台阶5种方法。
(如果先跳1级,就变成3级台阶的跳法;先跳2级,就变成2级台阶的跳法)
3 + 2 就等于5种方法。
这时,我们惊喜的发现,这不就是一个斐波那契数列吗,
我当场复用上一段代码。(记得要注意细节)
代码:
class Solution {
public:int numWays(int n) {//设置f1和f2两个变量作为计算数列下一个数的前两个数int f1 = 1;//记得改一下细节int f2 = 1;//这是题目的要求,我们利用一下,这样整形变量的大小就够用int m = (1e9 + 7);//这是第一个数和第二个数的情况if(n == 0){return 1;//记得改一下细节}if(n == 1){return 1;}int ret = 0;//写一个循环,根据斐波那锲数列规则计算下一个值for(int i = 0;i<n-1;i++){//按题目要求取模ret = (f1 + f2) % m;f1 = f2;f2 = ret;}return ret;}
};
过啦!!!

小总结:
刷题的意义之一,
其实就是当我们再次遇到类似的题目的时候,
我们能比别人更加容易想到更好的思路,就像这两道题目一样。
写在最后:
以上就是本篇文章的内容了,感谢你的阅读。
如果喜欢本文的话,欢迎点赞和评论,写下你的见解。
如果想和我一起学习编程,不妨点个关注,我们一起学习,一同成长。
之后我还会输出更多高质量内容,欢迎收看。
相关文章:
【LeetCode】剑指 Offer(4)
目录 写在前面: 题目:剑指 Offer 10- I. 斐波那契数列 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 题目:剑指 Offer 10- II. …...
庄懂的TA笔记(十二)<>
庄懂的TA笔记(十二)<>一、作业展示,答疑:1、作业:2、答疑:二、作业示范,分析:1、文档分析:2、资源分析:3、资源优化:4、光…...
学分绩点(2023寒假每日一题 5)
北京大学对本科生的成绩施行平均学分绩点制(GPA)。 既将学生的实际考分根据不同的学科的不同学分按一定的公式进行计算。 公式如下: 实际成绩 绩点 90——100 4.0 85——89 3.7 82——84 3.3 78——81 3.0 75…...
Framework学习之旅:Zygote进程
概述 在Android系统中,DVM(Dalvik 虚拟机和ART、应用程序进程以及运行系统的关键服务SystemServer进程都是由Zygote进程来创建的。通过fork(复制进程)的形式来创建应用程进程和SystemServer进程,由于Zygote进程在启动时会创建DVM…...
HTTP基础知识
关键字:一问一答用于和服务器交互什么是HTTPHTTP是个应用层协议,是HTTP客户端和HTTP服务器之间的交互数据格式。所以这里有个实例:在浏览网页的时候,浏览器会向服务器发送一个HTTP请求,告诉服务器我想访问什么..然后服…...
Delphi 10.4.2使用传统代码提示方案(auto complete)(转)
Delphi 10.4重点是实现了LSP,但现在最新的10.4.2还是不成熟,无法满足日常需要,不过没关系,可以设置为原有的方案,如下图:具体操作:Tools->Options->Editor->language->Code Insight…...
存储类别、链接与内存管理(三)
1、malloc函数详解 (1)函数声明 #include <stdlib.h> void* malloc(size_t size);malloc可以申请一定数量的空闲内存,这样的内存是匿名的,也就是malloc不会为其赋名,但是确实返回动态分配内存块的首元素地址&a…...
Java:Linux(CentOS)安装、配置及相关命令
目录一、VMware安装二、CentOS安装1、安装过程2、加载ISO2.1 桌面的设置三、VI/VIM编辑器1、一般模式2、编辑模式3、命令模式4、模式间转换四、网络配置和系统管理操作1、配置子网IP和网关2、配置虚拟机ip地址2.1 ifconfig 查询ip地址2.2 修改IP地址3、配置主机名3.1 hostname …...
Linux 操作系统原理 — 多任务优先级调度策略
目录 文章目录 目录多任务优先级调度策略User Process 调度策略配置调整 User Process 的优先级调整非实时进程的优先级调整实时进程优先级调整 User Process 的调度算法多任务优先级调度策略 在 Linux Kernel 中,Kernel Thread 作为唯一的调度实体,Kernel Scheduler(调度程…...
链表学习之找到两个链表相交的第一个节点
链表解题技巧 额外的数据结构(哈希表);快慢指针;虚拟头节点; 找到两个链表相交的第一个节点 给定两个链表,这两个链表可能有环,可能无环。判断这两个链表是否相交,相交则返回第一…...
【Kubernetes】【十一】Pod详解 Pod的生命周期
Pod生命周期 我们一般将pod对象从创建至终的这段时间范围称为pod的生命周期,它主要包含下面的过程: pod创建过程 运行初始化容器(init container)过程 运行主容器(main container) 容器启动后钩子&#…...
Connext DDS录制服务 Recording Service(1)
1 序言 1.1 简介 RTI记录服务包括以下工具: •记录服务,一种RTI Connext DDS应用程序,用于记录主题和发现数据。记录服务记录数据更新以及时间戳,因此您可以查看或回放系统中随时间发生的数据更新。默认情况下,记录的数据存储在SQLite文件中。录制服务还具有一个API,用于…...
vTESTstudio - VT System CAPL Functions - VT2004(续2)
不要沮丧,不必惊慌,做努力爬的蜗牛或坚持飞的笨鸟,我们试着长大,一路跌跌撞撞,哪怕遍体鳞伤。vtsSetPWMVoltageLow - 设置PWM输出上的低电压功能:指定数字输出信号(尤其是PWM信号)输…...
每天一个linux命令---awk
awk命令 1. 简介 awk是一种处理文本文件的语言,是一个强大的文本分析工具,grep、sed、awk并称为shell中文本处理的三剑客。 AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。 之所以叫 AWK 是因为其取了三位创始人 Alfred Aho&am…...
Open3D 点云旋转之轴角式(Python版本)
文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 三维空间中表示旋转的方法有很多种,轴角式是其中非常经典的一种表示方式。虽然欧拉角表示旋转的方法很是常用,但欧拉角存在着万向锁这个问题,因此轴角式旋转在旋转使用中更为合适。其原理也很是明了,如下所述:…...
Error: Timeout trying to fetch resolutions from npm
文章目录问题描述【最终解决】我搜索到的解决方案npmjs 该依赖各版本列表及对应的被下载次数github issue 说降级到0.0.3就可以正常运行了SOF 也说降级别到0.0.3问题描述 在项目里用到了 "preinstall": "npx npm-force-resolutions"配置,在一台…...
Python基础3
目录 1. 函数多返回值 2. 函数多种传参方式 3. 匿名函数 3.1 函数作为参数传递 3.2 lambda匿名函数 4. 文件的读取操作 4.1 open()打开函数 4.2 读操作方法 4.3 文件的写入 4.4 文件的追加 5. 异常的捕获方法 5.1 捕获常规异常 5.2 捕获指定…...
高可用集群(HAC)
1、高可用集群keepalive说明 高可用定义: 目的:尽可能的提高服务的可用性 99%、99.9%、99.99%、99.999% 实现原理:心跳检测服务: 有状态: MySQL 无状态: apacheLVS Keepalive原理 案例环境专为 LVS和…...
python基于django微信小程序的适老化老人健康预警小程序
随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代, 适老化老人健康预警微信小程序就是信息时代变革中的产物之一。 任何系统都要遵…...
基于微信小程序图书馆管理系统
开发工具:IDEA、微信小程序服务器:Tomcat9.0, jdk1.8项目构建:maven数据库:mysql5.7前端技术:vue、uniapp服务端技术:springbootmybatis-plus本系统分微信小程序和管理后台两部分,项…...
GitHub中文界面极速解锁指南:5分钟告别英文困扰的终极方案
GitHub中文界面极速解锁指南:5分钟告别英文困扰的终极方案 【免费下载链接】github-chinese GitHub 汉化插件,GitHub 中文化界面。 (GitHub Translation To Chinese) 项目地址: https://gitcode.com/gh_mirrors/gi/github-chinese 你是否曾经面对…...
Infinity Router:构建统一流量网关的架构设计与生产实践
1. 项目概述:一个面向未来的路由聚合器 最近在折腾一个很有意思的项目,叫“Infinity Router”。这名字听起来挺唬人的,但说白了,它就是一个 路由聚合器 。不过,它和我们平时在项目里用的那些路由库(比如 …...
QtUnblockNeteaseMusic终极指南:高效解锁网易云音乐地区限制
QtUnblockNeteaseMusic终极指南:高效解锁网易云音乐地区限制 【免费下载链接】QtUnblockNeteaseMusic A desktop client for UnblockNeteaseMusic, made with Qt. 项目地址: https://gitcode.com/gh_mirrors/qt/QtUnblockNeteaseMusic QtUnblockNeteaseMusic…...
Ren`Py 引擎初探:从零搭建你的Python视觉小说项目
1. 为什么选择RenPy开发视觉小说? 第一次听说RenPy是在三年前,当时我正在寻找能用Python开发的游戏引擎。试过Unity、Unreal这些主流引擎后,发现它们要么需要学习C#,要么对2D支持不够友好。直到偶然在论坛看到有人用RenPy做文字冒…...
CherryUSB嵌入式USB协议栈终极指南:从入门到精通
CherryUSB嵌入式USB协议栈终极指南:从入门到精通 【免费下载链接】CherryUSB CherryUSB is a tiny and beautiful, high performance and portable USB host and device stack for embedded system with USB IP 项目地址: https://gitcode.com/gh_mirrors/ch/Cher…...
MATLAB解DAE踩坑实录:ode15i求解完全隐式方程,初始条件怎么设才不报错?
MATLAB解DAE踩坑实录:ode15i求解完全隐式方程,初始条件怎么设才不报错? 在工程仿真和科学计算领域,微分代数方程(DAE)的求解一直是令人头疼的问题。特别是当面对完全隐式形式的DAE时,传统的半显…...
labelCloud架构解析:3D点云标注的模块化解决方案深度指南
labelCloud架构解析:3D点云标注的模块化解决方案深度指南 【免费下载链接】labelCloud A lightweight tool for labeling 3D bounding boxes in point clouds. 项目地址: https://gitcode.com/gh_mirrors/la/labelCloud 在3D计算机视觉和自动驾驶领域&#x…...
基于RT-Thread与PSoC 6的智能环境监测系统设计与实现
1. 项目概述:当嵌入式RTOS遇上混合信号MCU最近在捣鼓一个智能环境监测的小玩意儿,核心需求很简单:实时采集环境的温湿度数据,一旦超过预设的阈值,就通过声光或者网络的方式发出警报。听起来像是毕业设计的经典题目&…...
构建多模型备选策略以提升AI应用服务稳定性
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 构建多模型备选策略以提升AI应用服务稳定性 在将大模型能力集成到生产应用时,服务可用性是核心考量之一。依赖单一模型…...
ESP32-C3驱动2寸ST7789屏幕?手把手教你搞定LVGL移植(附避坑代码)
ESP32-C3与ST7789屏幕的LVGL移植实战指南 在物联网设备开发中,显示交互界面往往是提升用户体验的关键一环。ESP32-C3作为乐鑫推出的高性价比RISC-V芯片,搭配ST7789驱动的2寸LCD屏幕,能够构建出性能稳定、成本可控的嵌入式显示方案。本文将带你…...
