Skip to content

Commit 4852b1c

Browse files
committed
feat: add solutions to lc problem: No.1758. Minimum Changes To Make Alternating Binary String
1 parent f154324 commit 4852b1c

File tree

5 files changed

+83
-3
lines changed

5 files changed

+83
-3
lines changed

solution/1700-1799/1758.Minimum Changes To Make Alternating Binary String/README.md

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
<li><code>s[i]</code> 是 <code>'0'</code> 或 <code>'1'</code></li>
4545
</ul>
4646

47-
4847
## 解法
4948

5049
<!-- 这里可写通用的实现逻辑 -->
@@ -56,15 +55,43 @@
5655
<!-- 这里可写当前语言的特殊实现逻辑 -->
5756

5857
```python
59-
58+
class Solution:
59+
def minOperations(self, s: str) -> int:
60+
cnt = 0
61+
for i, c in enumerate(s):
62+
cnt += c == '01'[i & 1]
63+
return min(cnt, len(s) - cnt)
6064
```
6165

6266
### **Java**
6367

6468
<!-- 这里可写当前语言的特殊实现逻辑 -->
6569

6670
```java
71+
class Solution {
72+
public int minOperations(String s) {
73+
int cnt = 0, n = s.length();
74+
for (int i = 0; i < n; ++i) {
75+
cnt += (s.charAt(i) == "01".charAt(i & 1) ? 1 : 0);
76+
}
77+
return Math.min(cnt, n - cnt);
78+
}
79+
}
80+
```
6781

82+
### **C++**
83+
84+
```cpp
85+
class Solution {
86+
public:
87+
int minOperations(string s) {
88+
int cnt = 0, n = s.size();
89+
for (int i = 0; i < n; ++i) {
90+
cnt += s[i] == "01"[i & 1];
91+
}
92+
return min(cnt, n - cnt);
93+
}
94+
};
6895
```
6996
7097
### **...**

solution/1700-1799/1758.Minimum Changes To Make Alternating Binary String/README_EN.md

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,41 @@
5151
### **Python3**
5252

5353
```python
54-
54+
class Solution:
55+
def minOperations(self, s: str) -> int:
56+
cnt = 0
57+
for i, c in enumerate(s):
58+
cnt += c == '01'[i & 1]
59+
return min(cnt, len(s) - cnt)
5560
```
5661

5762
### **Java**
5863

5964
```java
65+
class Solution {
66+
public int minOperations(String s) {
67+
int cnt = 0, n = s.length();
68+
for (int i = 0; i < n; ++i) {
69+
cnt += (s.charAt(i) == "01".charAt(i & 1) ? 1 : 0);
70+
}
71+
return Math.min(cnt, n - cnt);
72+
}
73+
}
74+
```
6075

76+
### **C++**
77+
78+
```cpp
79+
class Solution {
80+
public:
81+
int minOperations(string s) {
82+
int cnt = 0, n = s.size();
83+
for (int i = 0; i < n; ++i) {
84+
cnt += s[i] == "01"[i & 1];
85+
}
86+
return min(cnt, n - cnt);
87+
}
88+
};
6189
```
6290
6391
### **...**
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
class Solution {
2+
public:
3+
int minOperations(string s) {
4+
int cnt = 0, n = s.size();
5+
for (int i = 0; i < n; ++i) {
6+
cnt += s[i] == "01"[i & 1];
7+
}
8+
return min(cnt, n - cnt);
9+
}
10+
};
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
class Solution {
2+
public int minOperations(String s) {
3+
int cnt = 0, n = s.length();
4+
for (int i = 0; i < n; ++i) {
5+
cnt += (s.charAt(i) == "01".charAt(i & 1) ? 1 : 0);
6+
}
7+
return Math.min(cnt, n - cnt);
8+
}
9+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
class Solution:
2+
def minOperations(self, s: str) -> int:
3+
cnt = 0
4+
for i, c in enumerate(s):
5+
cnt += c == '01'[i & 1]
6+
return min(cnt, len(s) - cnt)

0 commit comments

Comments
 (0)