Counting 0’s and 1’s

To check if all bits can be made the same by a single flip in JavaScript, you can follow these steps:

  • Count the number of 0s and 1s in the given binary sequence.
  • If the count of 0s is 1 or the count of 1s is 1, then it’s possible to make all bits the same by a single flip. Otherwise, it’s not possible.

Syntax:

for (statement 1 ; statement 2 ; statement 3){
code here...
}

Example: Below is the implementation of the above approach

Javascript
function canMakeAllBitsSameBySingleFlip(binaryString) {
    let countZeros = 0;
    let countOnes = 0;

    for (let i = 0;
        i < binaryString.length;
        i++) {
        if (binaryString[i] === '0') {
            countZeros++;
        } else if (binaryString[i] === '1') {
            countOnes++;
        } else {
        
            // If the input contains non-binary 
            // characters, return false
            return false;
        }
    }

    // Check if it's possible to make 
    // all bits the same by a single flip
    return countZeros === 1 || countOnes === 1;
}

// True, because you can flip one 
// '0' to '1' to make all bits the same.
const binaryString1 = "1101";

// False, because you can flip one '1' to '0' .
const binaryString2 = "11";

// False, because it contains a non-binary character.
const binaryString3 = "1010a";

console.log(canMakeAllBitsSameBySingleFlip(binaryString1));
console.log(canMakeAllBitsSameBySingleFlip(binaryString2));
console.log(canMakeAllBitsSameBySingleFlip(binaryString3)); 

Output
true
false
false

Time complexity: O(n) where n is the length of the string.

JavaScript Program to Check if all Bits can be made Same by Single Flip

In this article, we will explore how to determine if it’s possible to make all bits the same in a binary string by performing a single flip operation. We will cover various approaches to implement this in JavaScript and provide code examples for each approach.

Examples:

Input: 1101
Output: Yes
Explanation: In 1101, the 0 can be flipped to make it all 1

Input: 11
Output: No
Explanation: No matter whichever digit you
flip, you will not get the desired string.
Input: 1
Output: Yes
Explanation: We can flip 1, to make all 0's

Table of Content

  • Approach 1: Counting 0’s and 1’s
  • Approach 2: XOR Operation in JavaScript

Similar Reads

Approach 1: Counting 0’s and 1’s

To check if all bits can be made the same by a single flip in JavaScript, you can follow these steps:...

Approach 2: XOR Operation in JavaScript

Here we uses the XOR (exclusive OR) operation, is a bit manipulation technique to determine if it’s possible to make all bits in a binary string the same by a single flip. Let’s break down how this approach works:...

Approach 3: Using split and filter

The split and filter approach involves splitting the binary string into an array, then using filter to count the number of ‘0’s and ‘1’s. It checks if either count is exactly one, indicating that flipping a single bit will unify the string....