mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 16:54:50 +08:00
Merge pull request #1629 from zhicheng-lee/zhicheng-lee-patch-9
更新 0070.爬楼梯.md Java代码
This commit is contained in:
@ -213,22 +213,6 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
### Java
|
### Java
|
||||||
```Java
|
|
||||||
class Solution {
|
|
||||||
public int climbStairs(int n) {
|
|
||||||
// 跟斐波那契数列一样
|
|
||||||
if(n <= 2) return n;
|
|
||||||
int a = 1, b = 2, sum = 0;
|
|
||||||
|
|
||||||
for(int i = 3; i <= n; i++){
|
|
||||||
sum = a + b;
|
|
||||||
a = b;
|
|
||||||
b = sum;
|
|
||||||
}
|
|
||||||
return b;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
```java
|
```java
|
||||||
// 常规方式
|
// 常规方式
|
||||||
@ -241,15 +225,22 @@ public int climbStairs(int n) {
|
|||||||
}
|
}
|
||||||
return dp[n];
|
return dp[n];
|
||||||
}
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
```Java
|
||||||
// 用变量记录代替数组
|
// 用变量记录代替数组
|
||||||
public int climbStairs(int n) {
|
class Solution {
|
||||||
int a = 0, b = 1, c = 0; // 默认需要1次
|
public int climbStairs(int n) {
|
||||||
for (int i = 1; i <= n; i++) {
|
if(n <= 2) return n;
|
||||||
c = a + b; // f(i - 1) + f(n - 2)
|
int a = 1, b = 2, sum = 0;
|
||||||
a = b; // 记录上一轮的值
|
|
||||||
b = c; // 向后步进1个数
|
for(int i = 3; i <= n; i++){
|
||||||
|
sum = a + b; // f(i - 1) + f(i - 2)
|
||||||
|
a = b; // 记录f(i - 1),即下一轮的f(i - 2)
|
||||||
|
b = sum; // 记录f(i),即下一轮的f(i - 1)
|
||||||
|
}
|
||||||
|
return b;
|
||||||
}
|
}
|
||||||
return c;
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user