Suppressions de “01” ou “10” dans une chaîne binaire pour la libérer de “01” ou “10”

Afficher la discussion

Améliorer l’article

Enregistrer l’article

J’aime l’article

Afficher la discussion

Améliorer l’article

Enregistrer l’article

J’aime l’article

Soit une chaîne binaire chaînela tâche consiste à trouver le nombre de suppressions de la sous-chaîne “01” ou “dix” de la chaîne de sorte que la chaîne donnée soit exempte de ces sous-chaînes. Imprimer le nombre minimum de suppressions.
Exemples:

Saisir: chaîne = “11010”
Production: 2
La chaîne résultante sera “1”
Saisir: chaîne = “1000101”
Production: 3
Chaîne résultante, str = “0”

Approcher: Nous supprimons “01” et “dix” et la chaîne binaire ne contient que des caractères ‘0’ et ‘1’. Par conséquent, le nombre minimum de suppressions sera égal au minimum du nombre de ‘0’ et ‘1’.
Voici la mise en œuvre de l’approche ci-dessus :

C++

#include <bits/stdc++.h>

using namespace std;

int substrDeletion(string str, int len)

{

    

    int count0 = 0, count1 = 0;

    for (int i = 0; i < len; i++) {

        if (str[i] == '0')

            count0++;

        else

            count1++;

    }

    return min(count0, count1);

}

int main()

{

    string str = "010";

    int len = str.length();

    cout << substrDeletion(str, len);

    return 0;

}

Java

class GFG

{

    

static int substrDeletion(String str, int len)

{

    

    int count0 = 0, count1 = 0;

    for (int i = 0; i < len; i++)

    {

        if (str.charAt(i) == '0')

            count0++;

        else

            count1++;

    }

    return Math.min(count0, count1);

}

public static void main(String[] args)

{

    String str = "010";

    int len = str.length();

    System.out.println(substrDeletion(str, len));

}

}

Python3

def substrDeletion(string, length) :

    

    count0 = 0;

    count1 = 0;

    for i in range(length) :

        if (string[i] == '0') :

            count0 += 1;

        else :

            count1 += 1;

    return min(count0, count1);

if __name__ == "__main__" :

    string = "010";

    length = len(string);

    

    print(substrDeletion(string, length));

C#

using System;

class GFG

{

    

static int substrDeletion(string str, int len)

{

    

    int count0 = 0, count1 = 0;

    for (int i = 0; i < len; i++)

    {

        if (str[i] == '0')

            count0++;

        else

            count1++;

    }

    return Math.Min(count0, count1);

}

public static void Main()

{

    string str = "010";

    int len = str.Length;

    Console.Write(substrDeletion(str, len));

}

}

Javascript

<script>

function substrDeletion(str,len)

{

    

    let count0 = 0, count1 = 0;

  

    for (let i = 0; i < len; i++)

    {

        if (str[i] == '0')

            count0++;

        else

            count1++;

    }

  

    return Math.min(count0, count1);

}

let str = "010";

let len = str.length;

document.write(substrDeletion(str, len));

        

</script>

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *