Skip to content

Commit

Permalink
Merge pull request neetcode-gh#2072 from AkifhanIlgaz/0926
Browse files Browse the repository at this point in the history
Create: 0926-flip-string-to-monotone-increasing.rs / .ts / .js /.go
  • Loading branch information
tahsintunan authored Jan 18, 2023
2 parents 8a5aeb2 + 11b204b commit 0954342
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 0 deletions.
20 changes: 20 additions & 0 deletions go/0926-flip-string-to-monotone-increasing.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
func minFlipsMonoIncr(s string) int {
res, countOne := 0, 0

for _, ch := range s {
if ch == '1' {
countOne++
} else {
res = min(res+1, countOne)
}
}

return res
}

func min(a, b int) int {
if a < b {
return a
}
return b
}
17 changes: 17 additions & 0 deletions javascript/0926-flip-string-to-monotone-increasing.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/**
* @param {string} s
* @return {number}
*/
var minFlipsMonoIncr = function (s) {
let [res, countOne] = [0, 0];

for (ch of s) {
if (ch == '1') {
countOne++;
} else {
res = Math.min(res + 1, countOne);
}
}

return res;
};
14 changes: 14 additions & 0 deletions rust/0926-flip-string-to-monotone-increasing.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
impl Solution {
pub fn min_flips_mono_incr(s: String) -> i32 {
let (mut res, mut count_one) = (0, 0);

for ch in s.chars() {
if ch == '1' {
count_one += 1;
} else {
res = i32::min(res + 1, count_one);
}
}
res
}
}
14 changes: 14 additions & 0 deletions typescript/0926-flip-string-to-monotone-increasing.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
function minFlipsMonoIncr(s: string): number {
let res: number = 0;
let countOne: number = 0;

for (let ch of s) {
if (ch == '1') {
countOne++;
} else {
res = Math.min(res + 1, countOne);
}
}

return res;
}

0 comments on commit 0954342

Please sign in to comment.