File tree Expand file tree Collapse file tree 17 files changed +276
-134
lines changed
0000-0099/0070.Climbing Stairs Expand file tree Collapse file tree 17 files changed +276
-134
lines changed Original file line number Diff line number Diff line change @@ -64,6 +64,23 @@ class Solution {
6464}
6565```
6666
67+ ### ** C++**
68+
69+ ``` cpp
70+ class Solution {
71+ public:
72+ int fib(int n) {
73+ int a = 0, b = 1;
74+ for (int i = 0; i < n; ++i) {
75+ int c = (a + b) % 1000000007;
76+ a = b;
77+ b = c;
78+ }
79+ return a;
80+ }
81+ };
82+ ```
83+
6784### **JavaScript**
6885
6986```js
@@ -72,32 +89,26 @@ class Solution {
7289 * @return {number}
7390 */
7491var fib = function (n) {
75- if (! n) return 0 ;
76- let pre = 0 ;
77- let cur = 1 ;
78- for (let i = 2 ; i <= n; i++ ) {
79- let c = (pre + cur) % (1e9 + 7 );
80- pre = cur;
81- cur = c;
92+ let a = 0,
93+ b = 1;
94+ for (let i = 0; i < n; ++i) {
95+ const c = (a + b) % (1e9 + 7);
96+ a = b;
97+ b = c;
8298 }
83- return cur ;
99+ return a ;
84100};
85101```
86102
87103### ** Go**
88104
89105``` go
90106func fib (n int ) int {
91- if n < 2 {
92- return n
93- }
94- a := make ([]int ,n+1 )
95- a[0 ]=0
96- a[1 ]=1
97- for i := 2 ; i < n+1 ; i++ {
98- a[i] = (a[i-1 ]+ a[i-2 ])%1000000007
107+ a , b := 0 , 1
108+ for i := 0 ; i < n; i++ {
109+ a, b = b, (a + b) % 1000000007
99110 }
100- return a[n]
111+ return a
101112}
102113```
103114
Original file line number Diff line number Diff line change 1+ class Solution {
2+ public:
3+ int fib (int n) {
4+ int a = 0 , b = 1 ;
5+ for (int i = 0 ; i < n; ++i) {
6+ int c = (a + b) % 1000000007 ;
7+ a = b;
8+ b = c;
9+ }
10+ return a;
11+ }
12+ };
Original file line number Diff line number Diff line change 11func fib (n int ) int {
2- if n < 2 {
3- return n
2+ a , b := 0 , 1
3+ for i := 0 ; i < n ; i ++ {
4+ a , b = b , (a + b ) % 1000000007
45 }
5- a := make ([]int ,n + 1 )
6- a [0 ]= 0
7- a [1 ]= 1
8- for i := 2 ; i < n + 1 ; i ++ {
9- a [i ] = (a [i - 1 ]+ a [i - 2 ])% 1000000007
10- }
11- return a [n ]
6+ return a
127}
Original file line number Diff line number Diff line change 33 * @return {number }
44 */
55var fib = function ( n ) {
6- if ( ! n ) return 0 ;
7- let pre = 0 ;
8- let cur = 1 ;
9- for ( let i = 2 ; i <= n ; i ++ ) {
10- let c = ( pre + cur ) % ( 1e9 + 7 ) ;
11- pre = cur ;
12- cur = c ;
6+ let a = 0 ,
7+ b = 1 ;
8+ for ( let i = 0 ; i < n ; ++ i ) {
9+ const c = ( a + b ) % ( 1e9 + 7 ) ;
10+ a = b ;
11+ b = c ;
1312 }
14- return cur ;
13+ return a ;
1514} ;
Original file line number Diff line number Diff line change @@ -48,15 +48,32 @@ class Solution {
4848 public int numWays (int n ) {
4949 int a = 0 , b = 1 ;
5050 for (int i = 0 ; i < n; ++ i) {
51- int s = (a + b) % 1000000007 ;
51+ int c = (a + b) % 1000000007 ;
5252 a = b;
53- b = s ;
53+ b = c ;
5454 }
5555 return b;
5656 }
5757}
5858```
5959
60+ ### ** C++**
61+
62+ ``` cpp
63+ class Solution {
64+ public:
65+ int numWays(int n) {
66+ int a = 0, b = 1;
67+ for (int i = 0; i < n; ++i) {
68+ int c = (a + b) % 1000000007;
69+ a = b;
70+ b = c;
71+ }
72+ return b;
73+ }
74+ };
75+ ```
76+
6077### **JavaScript**
6178
6279```js
@@ -65,35 +82,26 @@ class Solution {
6582 * @return {number}
6683 */
6784var numWays = function (n) {
68- if (! n) return 1 ;
69- let pre = 1 ;
70- let cur = 1 ;
71- for (let i = 2 ; i <= n; i++ ) {
72- let c = (pre + cur) % (1e9 + 7 );
73- pre = cur;
74- cur = c;
85+ let a = 0,
86+ b = 1;
87+ for (let i = 0; i < n; ++i) {
88+ const c = (a + b) % (1e9 + 7);
89+ a = b;
90+ b = c;
7591 }
76- return cur ;
92+ return b ;
7793};
7894```
7995
8096### ** Go**
8197
8298``` go
8399func numWays (n int ) int {
84- if n == 0 {
85- return 1
86- }
87- if n <= 2 {
88- return n
89- }
90- a := make ([]int , n)
91- a[0 ] = 1
92- a[1 ] = 2
93- for i := 2 ; i < n; i++ {
94- a[i] = (a[i-1 ] + a[i-2 ]) % 1000000007
95- }
96- return a[n-1 ]
100+ a , b := 0 , 1
101+ for i := 0 ; i < n; i++ {
102+ a, b = b, (a + b) % 1000000007
103+ }
104+ return b
97105}
98106```
99107
Original file line number Diff line number Diff line change 1+ class Solution {
2+ public:
3+ int numWays (int n) {
4+ int a = 0 , b = 1 ;
5+ for (int i = 0 ; i < n; ++i) {
6+ int c = (a + b) % 1000000007 ;
7+ a = b;
8+ b = c;
9+ }
10+ return b;
11+ }
12+ };
Original file line number Diff line number Diff line change 11func numWays (n int ) int {
2- if n == 0 {
3- return 1
4- }
5- if n <= 2 {
6- return n
7- }
8- a := make ([]int , n )
9- a [0 ] = 1
10- a [1 ] = 2
11- for i := 2 ; i < n ; i ++ {
12- a [i ] = (a [i - 1 ] + a [i - 2 ]) % 1000000007
13- }
14- return a [n - 1 ]
2+ a , b := 0 , 1
3+ for i := 0 ; i < n ; i ++ {
4+ a , b = b , (a + b ) % 1000000007
5+ }
6+ return b
157}
Original file line number Diff line number Diff line change @@ -2,9 +2,9 @@ class Solution {
22 public int numWays (int n ) {
33 int a = 0 , b = 1 ;
44 for (int i = 0 ; i < n ; ++i ) {
5- int s = (a + b ) % 1000000007 ;
5+ int c = (a + b ) % 1000000007 ;
66 a = b ;
7- b = s ;
7+ b = c ;
88 }
99 return b ;
1010 }
Original file line number Diff line number Diff line change 33 * @return {number }
44 */
55var numWays = function ( n ) {
6- if ( ! n ) return 1 ;
7- let pre = 1 ;
8- let cur = 1 ;
9- for ( let i = 2 ; i <= n ; i ++ ) {
10- let c = ( pre + cur ) % ( 1e9 + 7 ) ;
11- pre = cur ;
12- cur = c ;
6+ let a = 0 ,
7+ b = 1 ;
8+ for ( let i = 0 ; i < n ; ++ i ) {
9+ const c = ( a + b ) % ( 1e9 + 7 ) ;
10+ a = b ;
11+ b = c ;
1312 }
14- return cur ;
13+ return b ;
1514} ;
Original file line number Diff line number Diff line change 3333
3434<!-- 这里可写通用的实现逻辑 -->
3535
36+ 想上第 ` n ` 级台阶,可从第 ` n-1 ` 级台阶爬一级上去,也可从第 ` n-2 ` 级台阶爬两级上去,即:` f(n) = f(n-1) + f(n-2) ` 。递推求解即可。
37+
3638<!-- tabs:start -->
3739
3840### ** Python3**
3941
4042<!-- 这里可写当前语言的特殊实现逻辑 -->
4143
4244``` python
43-
45+ class Solution :
46+ def climbStairs (self , n : int ) -> int :
47+ a, b = 0 , 1
48+ for i in range (n):
49+ a, b = b, a + b
50+ return b
4451```
4552
4653### ** Java**
4754
4855<!-- 这里可写当前语言的特殊实现逻辑 -->
4956
5057``` java
58+ class Solution {
59+ public int climbStairs (int n ) {
60+ int a = 0 , b = 1 ;
61+ for (int i = 0 ; i < n; ++ i) {
62+ int c = a + b;
63+ a = b;
64+ b = c;
65+ }
66+ return b;
67+ }
68+ }
69+ ```
70+
71+ ### ** C++**
72+
73+ ``` cpp
74+ class Solution {
75+ public:
76+ int climbStairs(int n) {
77+ int a = 0, b = 1;
78+ for (int i = 0; i < n; ++i) {
79+ int c = a + b;
80+ a = b;
81+ b = c;
82+ }
83+ return b;
84+ }
85+ };
86+ ```
87+
88+ ### **JavaScript**
89+
90+ ```js
91+ /**
92+ * @param {number} n
93+ * @return {number}
94+ */
95+ var climbStairs = function (n) {
96+ let a = 0,
97+ b = 1;
98+ for (let i = 0; i < n; ++i) {
99+ const c = a + b;
100+ a = b;
101+ b = c;
102+ }
103+ return b;
104+ };
105+ ```
106+
107+ ### ** Go**
51108
109+ ``` go
110+ func climbStairs (n int ) int {
111+ a , b := 0 , 1
112+ for i := 0 ; i < n; i++ {
113+ a, b = b, a + b
114+ }
115+ return b
116+ }
52117```
53118
54119### ** ...**
You can’t perform that action at this time.
0 commit comments