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
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