🔧 Programmierung 🕛 vor 1 Jahr 4 Min Lesezeit
0

2914. Minimum Number of Changes to Make Binary String Beautiful

↗ Quelle (dev.to)
🗣️ Stimme:
📑 Inhaltsübersicht

2914. Minimum Number of Changes to Make Binary String Beautiful



Difficulty: Medium



Topics: String



You are given a 0-indexed binary string s having an even length.



A string is beautiful if it's possible to partition it into one or more substrings such that:




  • Each substring has an even length.

  • Each substring contains only 1's or only 0's.



You can change any character in s to 0 or 1.



Return the minimum number of changes required to make the string s beautiful.



Example 1:





  • Input: s = "1001"


  • Output: 2


  • Explanation: We change s[1] to 1 and s[3] to 0 to get string "1100".


    • It can be seen that the string "1100" is beautiful because we can partition it into "11|00".

    • It can be proven that 2 is the minimum number of changes needed to make the string beautiful.








Example 2:





  • Input: s = "10"


  • Output: 1


  • Explanation: We change s[1] to 1 to get string "11".


    • It can be seen that the string "11" is beautiful because we can partition it into "11".

    • It can be proven that 1 is the minimum number of changes needed to make the string beautiful.








Example 3:





  • Input: s = "0000"


  • Output: 0


  • Explanation: We don't need to make any changes as the string "0000" is beautiful already.



Constraints:




  • 2 <= s.length <= 105


  • s has an even length.


  • s[i] is either '0' or '1'.



Hint:




  1. For any valid partition, since each part consists of an even number of the same characters, we can further partition each part into lengths of exactly 2.

  2. After noticing the first hint, we can decompose the whole string into disjoint blocks of size 2 and find the minimum number of changes required to make those blocks beautiful.



Solution:



We need to ensure that every pair of characters in the binary string s is either "00" or "11". If a pair is not in one of these two patterns, we will need to change one of the characters to make it match.



Here's the step-by-step solution approach:




  1. Divide the String into Blocks: Since a beautiful string can be formed from blocks of length 2, we can iterate through the string in steps of 2.


  2. Count Changes: For each block of 2 characters, we need to determine the majority character (either 0 or 1). We will change the minority character in the block to match the majority character.


  3. Calculate Minimum Changes: For each block, if both characters are different, we will need 1 change; if they are the same, no changes are required.




Let's implement this solution in PHP: a star on GitHub or sharing the post on your favorite social networks 😍.

  • GitHub

  • Vollständiger Original-Artikel
    Den kompletten Beitrag mit allen Details direkt auf dev.to lesen.
    ↗ Original-Artikel auf dev.to lesen
    Wie bewertest du diesen Beitrag?
    1 Klick Feedback
    Teilen mit Netzwerk & Team:

    Community-Analysen & Experten-Meinungen 0

    Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
    Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
    Community Pulse: Relevanz-Einschätzung
    1 Klick Experten-Votum
    🔴 Akute Relevanz 0%
    🟡 In Evaluierung 0%
    🟢 Keine Auswirkung 0%
    Spannende Innovation 0%
    Verwandte Story-Cluster & Quellen (Vektor-KI)
    Port 8095 Engine
    9 Quellen
    CVE-2022-44169 | Tenda AC15 15.03.05.18 formSetVirtualSer buffer overflow (EUVD-2022-47119)
    1 Quelle
    Best early October Prime Day deals: Save on TVs, smartwatches, and more tech
    1 Quelle
    I gave Claude Code $100 and 30 days to make a profit. Day 1, it built a product. Here's the pattern it used.
    Ähnliche Beiträge
    🔍 Verwandte News

    Auch interessante Nachrichten 2914. Minimum Number of Changes to Make Binary String Beautiful

    Thematisch verwandte Begriffe: 2914, Minimum, Number, Changes · 6 Treffer

    Laden...

    Beiträge werden geladen ...

    Laden...

    Videos werden geladen ...

    Laden...

    Beiträge werden geladen ...

    Laden...

    Videos werden geladen ...

    Laden...

    Beiträge werden geladen ...

    Laden...

    Videos werden geladen ...

    Laden...

    Beiträge werden geladen ...

    Laden...

    Videos werden geladen ...