Dada una string que consta solo de 1 y 0. De un tirón podemos cambiar cualquier secuencia continua de esta string. Encuentre este número mínimo de vueltas para que la string consista solo en los mismos caracteres.
Ejemplos:
Input : 00011110001110 Output : 2 We need to convert 1's sequence so string consist of all 0's. Input : 010101100011 Output : 4
C++
// CPP program to find min flips in binary // string to make all characters equal #include <bits/stdc++.h> using namespace std; // To find min number of flips in binary string int findFlips(char str[], int n) { char last = ' '; int res = 0; for (int i = 0; i < n; i++) { // If last character is not equal // to str[i] increase res if (last != str[i]) res++; last = str[i]; } // To return min flips return res / 2; } // Driver program to check findFlips() int main() { char str[] = "00011110001110"; int n = strlen(str); cout << findFlips(str, n); return 0; }
Java
// Java program to find min flips in binary // string to make all characters equal public class minFlips { // To find min number of flips in binary string static int findFlips(String str, int n) { char last = ' '; int res = 0; for (int i = 0; i < n; i++) { // If last character is not equal // to str[i] increase res if (last != str.charAt(i)) res++; last = str.charAt(i); } // To return min flips return res / 2; } // Driver program to check findFlips() public static void main(String[] args) { String str = "00011110001110"; int n = str.length(); System.out.println(findFlips(str, n)); } }
Python 3
# Python 3 program to find min flips in # binary string to make all characters equal # To find min number of flips in # binary string def findFlips(str, n): last = ' ' res = 0 for i in range( n) : # If last character is not equal # to str[i] increase res if (last != str[i]): res += 1 last = str[i] # To return min flips return res // 2 # Driver Code if __name__ == "__main__": str = "00011110001110" n = len(str) print(findFlips(str, n)) # This code is contributed by ita_c
C#
// C# program to find min flips in // binary string to make all // characters equal using System; public class GFG { // To find min number of flips // in binary string static int findFlips(String str, int n) { char last = ' '; int res = 0; for (int i = 0; i < n; i++) { // If last character is not // equal to str[i] increase // res if (last != str[i]) res++; last = str[i]; } // To return min flips return res / 2; } // Driver program to check findFlips() public static void Main() { String str = "00011110001110"; int n = str.Length; Console.Write(findFlips(str, n)); } } // This code is contributed by nitin mittal
PHP
<?php // PHP program to find min flips in binary // string to make all characters equal // To find min number of // flips in binary string function findFlips($str, $n) { $last = ' '; $res = 0; for ($i = 0; $i < $n; $i++) { // If last character is not equal // to str[i] increase res if ($last != $str[$i]) $res++; $last = $str[$i]; } // To return min flips return intval($res / 2); } // Driver Code $str = "00011110001110"; $n = strlen($str); echo findFlips($str, $n); // This code is contributed by Sam007 ?>
Javascript
<script> // JavaScript program to find min flips in binary // string to make all characters equal // To find min number of flips in binary string function findFlips( str , n) { var last = ' '; var res = 0; for (i = 0; i < n; i++) { // If last character is not equal // to str[i] increase res if (last != str.charAt(i)) res++; last = str.charAt(i); } // To return min flips return parseInt(res / 2); } // Driver program to check findFlips() var str = "00011110001110"; var n = str.length; document.write(findFlips(str, n)); // This code contributed by aashish1995 </script>
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA