摘要: 题目 分析 本题也是爬楼梯的扩展,题意不明确。参考LC评论区的解释后,豁然开朗。关键是对于cost代价值的理解,它代表的是从当前楼梯迈出所耗费的体力,而不是到达该层所需要的体力。可以翻译如下: 在首尾都加一个0分别代表地面,和楼顶 数组的每一个数字代表从当前楼梯迈出所需要耗费的体力 从地面开始,第一 阅读全文
posted @ 2021-02-05 22:21 Uitachi 阅读(81) 评论(0) 推荐(0)
摘要: 题目 分析 用一维数组 dp[n] 表示爬到 n阶楼顶有多少种爬法,观察规律发现 dp[n] = dp[i-1] + dp[i-2],就是斐波那契数列。因为爬楼梯每次只能一个或两个台阶 代码 1 class Solution { 2 public: 3 int climbStairs(int n) 阅读全文
posted @ 2021-02-05 20:49 Uitachi 阅读(57) 评论(0) 推荐(0)
摘要: 题目 代码 递归 1 class Solution { 2 public: 3 4 int fib(int n) { 5 if(n == 0) return 0; 6 if(n == 1) return 1; 7 return fib(n-1) + fib(n-2); 8 } 9 }; 时间复杂度O 阅读全文
posted @ 2021-02-05 20:21 Uitachi 阅读(71) 评论(0) 推荐(0)
摘要: 题目 分析一 暴力枚举每个点,看看能不能成为回路,如无则返回-1。 代码 1 class Solution { 2 public: 3 int canCompleteCircuit(vector<int>& gas, vector<int>& cost) { 4 for(int i = 0;i < 阅读全文
posted @ 2021-02-05 18:12 Uitachi 阅读(74) 评论(0) 推荐(0)