74 lines
1.9 KiB
Java
74 lines
1.9 KiB
Java
//给你一个字符串数组 nums ,该数组由 n 个 互不相同 的二进制字符串组成,且每个字符串长度都是 n 。请你找出并返回一个长度为 n 且 没有出现 在
|
||
//nums 中的二进制字符串。如果存在多种答案,只需返回 任意一个 即可。
|
||
//
|
||
//
|
||
//
|
||
// 示例 1:
|
||
//
|
||
//
|
||
//输入:nums = ["01","10"]
|
||
//输出:"11"
|
||
//解释:"11" 没有出现在 nums 中。"00" 也是正确答案。
|
||
//
|
||
//
|
||
// 示例 2:
|
||
//
|
||
//
|
||
//输入:nums = ["00","01"]
|
||
//输出:"11"
|
||
//解释:"11" 没有出现在 nums 中。"10" 也是正确答案。
|
||
//
|
||
//
|
||
// 示例 3:
|
||
//
|
||
//
|
||
//输入:nums = ["111","011","001"]
|
||
//输出:"101"
|
||
//解释:"101" 没有出现在 nums 中。"000"、"010"、"100"、"110" 也是正确答案。
|
||
//
|
||
//
|
||
//
|
||
// 提示:
|
||
//
|
||
//
|
||
// n == nums.length
|
||
// 1 <= n <= 16
|
||
// nums[i].length == n
|
||
// nums[i] 为 '0' 或 '1'
|
||
//
|
||
// 👍 2 👎 0
|
||
|
||
package leetcode.editor.cn;
|
||
|
||
import java.util.Arrays;
|
||
import java.util.List;
|
||
|
||
//1980:找出不同的二进制字符串
|
||
class FindUniqueBinaryString{
|
||
public static void main(String[] args) {
|
||
//测试代码
|
||
Solution solution = new FindUniqueBinaryString().new Solution();
|
||
}
|
||
|
||
//力扣代码
|
||
//leetcode submit region begin(Prohibit modification and deletion)
|
||
class Solution {
|
||
public String findDifferentBinaryString(String[] nums) {
|
||
int n = nums.length;
|
||
List<String> list = Arrays.asList(nums);
|
||
int max = (int) Math.pow(2, n);
|
||
for (int i = max - 1; i >= 0; i--) {
|
||
if (!list.contains(Integer.toBinaryString(i))) {
|
||
String temp = Integer.toBinaryString(i);
|
||
while (temp.length() < n) {
|
||
temp = "0" + temp;
|
||
}
|
||
return temp;
|
||
}
|
||
}
|
||
return null;
|
||
}
|
||
}
|
||
//leetcode submit region end(Prohibit modification and deletion)
|
||
|
||
} |