Problem
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.
Solution
/**
* @param {string[]} nums
* @return {string}
*/
var findDifferentBinaryString = function(nums) {
var str = '';
for (var i = 0; i <= nums.length; i++) {
str = i.toString(2);
str = '0'.repeat(nums.length - str.length) + str;
if (!nums.includes(str)) {
return str;
}
}
};
Explain:
Since array nums
only contains n
numbers, if we got n + 1
numbers, there mush have at lease one number not in that array.
Complexity:
- Time complexity : O(n).
- Space complexity : O(1).