Skip to content

Commit 9582474

Browse files
add 1404
1 parent cac187e commit 9582474

File tree

7 files changed

+68
-5
lines changed

7 files changed

+68
-5
lines changed

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -700,4 +700,5 @@ LeetCode
700700
|1400|[Construct K Palindrome Strings](https://leetcode.com/problems/construct-k-palindrome-strings/)|c|[c++](./src/1400-Construct-K-Palindrome-Strings/1400.cpp)|[python](./src/1400-Construct-K-Palindrome-Strings/1400.py)|[go](./src/1400-Construct-K-Palindrome-Strings/1400.go)|[js](./src/1400-Construct-K-Palindrome-Strings/1400.js)|[java](./src/1400-Construct-K-Palindrome-Strings/1400.java)|Medium|
701701
|1401|[Circle and Rectangle Overlapping](https://leetcode.com/problems/circle-and-rectangle-overlapping/)|c|[c++](./src/1401-Circle-and-Rectangle-Overlapping/1401.cpp)|[python](./src/1401-Circle-and-Rectangle-Overlapping/1401.py)|[go](./src/1401-Circle-and-Rectangle-Overlapping/1401.go)|[js](./src/1401-Circle-and-Rectangle-Overlapping/1401.js)|[java](./src/1401-Circle-and-Rectangle-Overlapping/1401.java)|Medium|
702702
|1402|[Reducing Dishes](https://leetcode.com/problems/reducing-dishes/)|c|[c++](./src/1402-Reducing-Dishes/1402.cpp)|[python](./src/1402-Reducing-Dishes/1402.py)|[go](./src/1402-Reducing-Dishes/1402.go)|[js](./src/1402-Reducing-Dishes/1402.js)|[java](./src/1402-Reducing-Dishes/1402.java)|Hard|
703-
|1403|[Minimum Subsequence in Non-Increasing Order](https://leetcode.com/problems/minimum-subsequence-in-non-increasing-order/)|c|[c++](./src/1403-Minimum-Subsequence-in-Non-Increasing-Order/1403.cpp)|[python](./src/1403-Minimum-Subsequence-in-Non-Increasing-Order/1403.py)|[go](./src/1403-Minimum-Subsequence-in-Non-Increasing-Order/1403.go)|[js](./src/1403-Minimum-Subsequence-in-Non-Increasing-Order/1403.js)|[java](./src/1403-Minimum-Subsequence-in-Non-Increasing-Order/1403.java)|Easy|
703+
|1403|[Minimum Subsequence in Non-Increasing Order](https://leetcode.com/problems/minimum-subsequence-in-non-increasing-order/)|c|[c++](./src/1403-Minimum-Subsequence-in-Non-Increasing-Order/1403.cpp)|[python](./src/1403-Minimum-Subsequence-in-Non-Increasing-Order/1403.py)|[go](./src/1403-Minimum-Subsequence-in-Non-Increasing-Order/1403.go)|[js](./src/1403-Minimum-Subsequence-in-Non-Increasing-Order/1403.js)|[java](./src/1403-Minimum-Subsequence-in-Non-Increasing-Order/1403.java)|Easy|
704+
|1404|[Number of Steps to Reduce a Number in Binary Representation to One](https://leetcode.com/problems/number-of-steps-to-reduce-a-number-in-binary-representation-to-one/)|c|[c++](./src/1404-Number-of-Steps-to-Reduce-a-Number-in-Binary-Representation-to-One/1404.cpp)|[python](./src/1404-Number-of-Steps-to-Reduce-a-Number-in-Binary-Representation-to-One/1404.py)|[go](./src/1404-Number-of-Steps-to-Reduce-a-Number-in-Binary-Representation-to-One/1404.go)|[js](./src/1404-Number-of-Steps-to-Reduce-a-Number-in-Binary-Representation-to-One/1404.js)|[java](./src/1404-Number-of-Steps-to-Reduce-a-Number-in-Binary-Representation-to-One/1404.java)|Medium|
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
class Solution {
2+
public:
3+
int numSteps(string s) {
4+
int res = 0, add = 0, n = s.size();
5+
6+
for (int i = n - 1; i; i--) {
7+
res++;
8+
if (s[i] - '0' + add == 1) {
9+
add = 1;
10+
res++;
11+
}
12+
}
13+
return res + add;
14+
}
15+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
func numSteps(s string) int {
2+
res, add, n := 0, 0, len(s)
3+
4+
for i := n - 1; i > 0; i-- {
5+
res++
6+
if int(s[i] - '0') + add == 1 {
7+
add = 1
8+
res++
9+
}
10+
}
11+
return res + add
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
class Solution {
2+
public int numSteps(String s) {
3+
int res = 0, add = 0, n = s.length();
4+
5+
for (int i = n - 1; i > 0; i--) {
6+
res++;
7+
if (s.charAt(i) - '0' + add == 1) {
8+
add = 1;
9+
res++;
10+
}
11+
}
12+
return res + add;
13+
}
14+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
var numSteps = function(s) {
2+
let res = 0, add = 0, n = s.length;
3+
4+
for (let i = n - 1; i > 0; i--) {
5+
res++;
6+
if (s.charCodeAt(i) - 48 + add == 1) {
7+
add = 1;
8+
res++;
9+
}
10+
}
11+
return res + add;
12+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
class Solution:
2+
def numSteps(self, s: str) -> int:
3+
res, add, n = 0, 0, len(s)
4+
for i in range(n - 1, 0, -1):
5+
res += 1
6+
if (1 if s[i] == '1' else 0) + add == 1: # 当前为奇数,需要加1和移位
7+
add = 1
8+
res += 1
9+
return res + add

src/addProb.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
import os, bisect
33

44
# 题目名称
5-
name = "Minimum Subsequence in Non-Increasing Order"
6-
ID = 1403
7-
url = "https://leetcode.com/problems/minimum-subsequence-in-non-increasing-order/"
8-
difficult = "Easy"
5+
name = "Number of Steps to Reduce a Number in Binary Representation to One"
6+
ID = 1404
7+
url = "https://leetcode.com/problems/number-of-steps-to-reduce-a-number-in-binary-representation-to-one/"
8+
difficult = "Medium"
99
prog = ['c', 'cpp', 'py', 'go', 'js', 'java']
1010

1111

0 commit comments

Comments
 (0)