2107. Find Unique Binary String¶
Difficulty: Medium
LeetCode Problem View on GitHub
2107. Find Unique Binary String
Medium
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.length1 <= n <= 16nums[i].length == nnums[i]is either'0'or'1'.- All the strings of
numsare unique.
Solution¶
class Solution {
public String findDifferentBinaryString(String[] nums) {
int n = nums.length;
HashSet<String> set = new HashSet<>();
for(int i = 0; i < n; i++) set.add(nums[i]);
String ans = solve("", n, set);
return ans;
}
public static String solve(String ans, int n, HashSet<String> set) {
if(ans.length() == n) {
if(!set.contains(ans)) return ans;
return "";
}
String z = solve(ans + "0", n, set);
if(z.length() > 0) return z;
return solve(ans + "1", n, set);
}
}
Complexity Analysis¶
- Time Complexity:
O(?) - Space Complexity:
O(?)
Approach¶
Detailed explanation of the approach will be added here