更新 0070.爬楼梯.md Java代码

三种Java代码中有两种是相同的方法,合并相同方法的内容
This commit is contained in:
zhicheng lee
2022-09-06 20:27:20 +08:00
committed by GitHub
parent 73d7e3f686
commit cc0c8782d9

View File

@ -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;
} }
``` ```