1980. Find Unique Binary String

Description

Given an array of strings nums containing n unique binary strings each of length n, return a binary string of length n that does not appear in nums. If there are multiple answers, you may return any of them.

Example 1:

Input: nums = ["01","10"]
Output: "11"
Explanation: "11" does not appear in nums. "00" would also be correct.


Example 2:

Input: nums = ["00","01"]
Output: "11"
Explanation: "11" does not appear in nums. "10" would also be correct.


Example 3:

Input: nums = ["111","011","001"]
Output: "101"
Explanation: "101" does not appear in nums. "000", "010", "100", and "110" would also be correct.


Constraints:

• n == nums.length
• 1 <= n <= 16
• nums[i].length == n
• nums[i] is either '0' or '1'.
• All the strings of nums are unique.

Solutions

• class Solution {
public String findDifferentBinaryString(String[] nums) {
for (var x : nums) {
int cnt = 0;
for (int i = 0; i < x.length(); ++i) {
if (x.charAt(i) == '1') {
++cnt;
}
}
}
for (int i = 0;; ++i) {
if ((mask >> i & 1) == 0) {
return "1".repeat(i) + "0".repeat(nums.length - i);
}
}
}
}

• class Solution {
public:
string findDifferentBinaryString(vector<string>& nums) {
for (auto& x : nums) {
int cnt = count(x.begin(), x.end(), '1');
}
for (int i = 0;; ++i) {
if (mask >> i & 1 ^ 1) {
return string(i, '1') + string(nums.size() - i, '0');
}
}
}
};

• class Solution:
def findDifferentBinaryString(self, nums: List[str]) -> str:
for x in nums:
n = len(nums)
for i in range(n + 1):
if mask >> i & 1 ^ 1:
return "1" * i + "0" * (n - i)


• func findDifferentBinaryString(nums []string) string {
for _, x := range nums {
mask |= 1 << strings.Count(x, "1")
}
for i := 0; ; i++ {
return strings.Repeat("1", i) + strings.Repeat("0", len(nums)-i)
}
}
}

• public class Solution {
public string FindDifferentBinaryString(string[] nums) {
foreach (var x in nums) {
int cnt = x.Count(c => c == '1');
}
int i = 0;
while ((mask >> i & 1) == 1) {
i++;
}
return string.Format("{0}{1}", new string('1', i), new string('0', nums.Length - i));
}
}


• function findDifferentBinaryString(nums: string[]): string {
for (let x of nums) {
const cnt = x.split('').filter(c => c === '1').length;