JAVA练习49-爬楼梯
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
前言
一、题目-爬楼梯
1.题目描述
2.思路与代码
2.1 思路
2.2 代码
总结
前言
提示:这里可以添加本文要记录的大概内容:
2月13日练习内容
提示:以下是本篇文章正文内容,下面案例可供参考
一、题目-爬楼梯
1.题目描述
假设你正在爬楼梯。需要 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 阶
提示:
1 <= n <= 45
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/climbing-stairs
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2.思路与代码
2.1 思路
1.创建3个变量
2.当i == 1,时,p = q = 0; q = result = 1;result = p + q = 0 + 1 = 1;
3.当i == 2时, p = q = 1;q = result = 1;result = p + q = 1 + 1 = 2;
4.当i == 3时, p = 1;q = 2;result = 3;f(3) = f(1) + f(2) = 1 + 2 = 3;
5.当i == 4, p = 2;q = 3;result = 5;f(4) = f(3) + f(2) = 3 + 2 = 5;
6.i ++直到i<= n
7.最后输出最终结果
2.2 代码
代码如下(示例):
class Solution {public int climbStairs(int n) {//当n > 2时,f(n) = f(n - 1) + f(n - 2)int p = 0;int q = 0;int result = 1;//循环n遍//n == 1,时,p = q = 0; q = result = 1;result = p + q = 0 + 1 = 1;//n == 2时, p = q = 1;q = result = 1;result = p + q = 1 + 1 = 2;//n == 3时, p = 1;q = 2;result = 3;f(3) = f(1) + f(2) = 1 + 2 = 3;//n == 4, p = 2;q = 3;result = 5;f(4) = f(3) + f(2) = 3 + 2 = 5;//n ++for(int i = 1;i <= n;i ++){p = q;q = result;result = p + q;}return result;}
}
总结
提示:这里对文章进行总结:
JAVA练习49-爬楼梯相关推荐
- 《LeetCode力扣练习》第70题 爬楼梯 Java
<LeetCode力扣练习>第70题 爬楼梯 Java 一.资源 题目: 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶 ...
- java 爬楼梯算法_动态规划-爬楼梯问题java实现
最近开始看算法导论,研究了一下动态规划,下面就开始直入主题开始记录近期看的第一个知识点动态规划.提起动态规划就不得不提几个动态规划的金典问题爬楼梯.国王金矿.背包问题.今天就仔细分析一下爬楼梯问题. ...
- python跳台阶_递推典型算法:猴子爬山,跳台阶,爬楼梯(牛客网)、魔法深渊(快手)----Python、Java...
递推算法的基本思想是把一个复杂的.庞大的计算过程转化为简单过程的多次重复,其首要问题是得到相邻的数据项之间的关系,即递推关系.以猴子爬山为例. 1.问题的提出 一个顽猴在一座有30级太假的小山上爬山活 ...
- Java学习手册:(数据结构与算法-递归)一个人爬楼梯,可以一次爬一阶或者两阶,问n层楼梯有多少种爬法?
算法思想: (1)只有一层楼梯,有1种方法,即 f(1) = 1; (2)有两层楼梯,有2种方法,即 f(2) = 2: (3)有三层楼梯,a.如果第一步爬一层,后面还有两层楼梯未爬,有2种方法,即f ...
- Java算法——爬楼梯(LeetCode第70题)
问题描述 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 示例 分析 题目中给出,上台阶的方式只有两种,一种为一步跨一阶,一种为 ...
- 爬楼梯 java_Leetcode 70.爬楼梯(Java)
题目: 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2 输出: 2 解释 ...
- java算法题走楼梯,程序员必学算法「动态规划」:爬楼梯(完全背包解法)
通知:我将公众号文章和学习相关的资料整理到了Github :https://github.com/youngyangyang04/leetcode-master,方便大家在电脑上学习,可以fork到自 ...
- LeetCode70. 爬楼梯(Java解法——使用完全背包求解)
1 题目描述 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n = 2 输出:2 解释:有两种方法可以爬到楼 ...
- Java实现 LeetCode 746 使用最小花费爬楼梯(递推)
746. 使用最小花费爬楼梯 数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 costi. 每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶 ...
- leetcode 70. 爬楼梯-java实现
题目所属分类 小学数奥题 斐波那契数列 原题链接 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 代码案例:输入:n = 2 输 ...
最新文章
- Blender写实产品创作学习教程
- 州 选择国家_青海的三大城市:海南州、海北州和海西州,谁的风景更美?
- 不需要密码的windows计划任务设置
- 手把手教你搭建Mac环境微信小程序的本地测试服务器
- PonyAI进军自动驾驶货运,乘用无人车历史性“小马过河”
- 中国AI公司公开击败谷歌微软,这次是Yi+AI视觉团队
- 怎么自动删除以前数据脚本_移动硬盘数据删除了怎么恢复?硬盘恢复软件分享!...
- 分享最新win7旗舰版/专业版企业版激活密钥和激活方法哦
- 好看的table-css样式
- js提取JSON数据中需要的那部分数据
- 【python】数字验证常用操作
- 区块链技术能否给跨境贸易带来新的机遇?
- diskgenius系统迁移_关于系统迁移至SSD
- Java练手项目1:基于RFID的图书仓储管理系统(可做毕设)
- 使用xiaopiu常见技巧
- 2022必撸八股!198道K8s/Docker/DevOps面试真题大汇总
- 校园二手物品交易平台
- centos8使用podman搭建vulhub
- 安装photoshop cc 2015几个问题的解决
- 电脑专业测试cpu的软件,使用什么软件来测试计算机CPU的最佳性能