#include <iostream> #include <vector> #include <algorithm> using namespace std; //原理:动态规划法 //到达每个阶梯都有一个理论上的最小体力minCost,按照minCost[i] = min(minCost[i-2] ...
分类:
其他好文 时间:
2021-01-19 12:19:43
阅读次数:
0
import java.util.*; public class Solution { /** * * @param n int整型 总台阶数量 * @return int整型 */ //有 n 个台阶,你一次能走 1 个或者 2 个台阶,那么请问,走完这 n 个台阶共有几种方式? //备忘录模式 ...
分类:
编程语言 时间:
2021-01-18 11:22:40
阅读次数:
0
272. 爬楼梯 II 中文English 一个小孩爬一个 n 层台阶的楼梯。他可以每次跳 1 步, 2 步 或者 3 步。实现一个方法来统计总共有多少种不同的方式爬到最顶层的台阶。 样例 Example 1: Input: 3 Output: 4 Explanation: 1 + 1 + 1 = ...
分类:
其他好文 时间:
2021-01-13 10:36:17
阅读次数:
0
动规问题,如果直接使用滚动数组不开空间会效率更高,所有效率可以提升百分之40左右; 状态转移方程: dp[i]=min(dp[i-1],dp[i-2])+cost[i]; class Solution { public: int minCostClimbingStairs(vector<int>& ...
分类:
其他好文 时间:
2020-12-25 12:32:04
阅读次数:
0
# # @lc app=leetcode.cn id=70 lang=python3 # # [70] 爬楼梯 # # @lc code=start class Solution: def climbStairs(self, n: int) -> int: if n == 1: return 1 i ...
分类:
其他好文 时间:
2020-11-07 16:09:23
阅读次数:
19
题目描述: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入:2 输出:2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入: 3 输出: ...
分类:
其他好文 时间:
2020-08-21 16:42:32
阅读次数:
145
题目描述: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入: 3 输 ...
分类:
其他好文 时间:
2020-07-23 22:37:07
阅读次数:
68
方法:找着找着规律,发现是斐波那契数列,还是使用迭代的方法,驾轻就熟了,第一次一遍过 1 //找规律过程中,发现是斐波那契数列 f(n) = f(n-1) + f(n-2) 2 3 #include <iostream> 4 5 using namespace std; 6 7 class Solu ...
分类:
编程语言 时间:
2020-07-12 22:18:34
阅读次数:
83
###70. 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1 阶 + 1 阶 2 阶 示例 2: 输入: 3 输出 ...
分类:
其他好文 时间:
2020-07-02 22:06:16
阅读次数:
63
由于每次只能跳一阶或者两阶台阶,所以要到达每一阶台阶的方案数都是到达上一阶台阶的方案数 和到达上上阶台阶的方案数之和。 如果我们用dp[i]表示到达第i阶台阶的方案数,那么可以得到递推公式dp[i] = dp[i - 1] + dp[i - 2]; 这就是一个斐波那契数列,递推边界是dp[0] = ...
分类:
其他好文 时间:
2020-07-02 16:33:12
阅读次数:
47