Skip to content

Commit 1bc45e7

Browse files
solves minimum changes to make a binary string
1 parent 04d5d69 commit 1bc45e7

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@
429429
| 1742 | [Maximum Number of Balls in a Box](https://leetcode.com/problems/maximum-number-of-balls-in-a-box) | [![Java](assets/java.png)](src/MaximumNumberOfBallsInABox.java) | |
430430
| 1748 | [Sum of Unique Elements](https://leetcode.com/problems/sum-of-unique-elements) | [![Java](assets/java.png)](src/SumOfUniqueElements.java) | |
431431
| 1752 | [Check if Array Is Sorted and Rotated](https://leetcode.com/problems/check-if-array-is-sorted-and-rotated) | [![Java](assets/java.png)](src/CheckIfArrayIsSortedAndRotated.java) | |
432-
| 1758 | [Minimum Changes To Make Alternating Binary String](https://leetcode.com/problems/minimum-changes-to-make-alternating-binary-string) | | |
432+
| 1758 | [Minimum Changes To Make Alternating Binary String](https://leetcode.com/problems/minimum-changes-to-make-alternating-binary-string) | [![Java](assets/java.png)](src/MinimumChangesToMakeAlternatingBinaryString.java) | |
433433
| 1763 | [Longest Nice Substring](https://leetcode.com/problems/longest-nice-substring) | | |
434434
| 1768 | [Merge Strings Alternately](https://leetcode.com/problems/merge-strings-alternately) | | |
435435
| 1773 | [Count Items Matching a Rule](https://leetcode.com/problems/count-items-matching-a-rule) | | |
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
public class MinimumChangesToMakeAlternatingBinaryString {
2+
public int minOperations(String s) {
3+
return Math.min(
4+
operationsToChangeIntoAlternatingString(s, '1'),
5+
operationsToChangeIntoAlternatingString(s, '0')
6+
);
7+
}
8+
9+
private int operationsToChangeIntoAlternatingString(String s, char start) {
10+
int changes = 0, current = start - '0';
11+
for (int index = 0 ; index < s.length() ; index++, current ^= 1) {
12+
if (s.charAt(index) != current + '0') changes++;
13+
}
14+
return changes;
15+
}
16+
}

0 commit comments

Comments
 (0)