原文链接: https://leetcode-cn.com/problems/find-unique-binary-string
英文原文
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.
中文题目
给你一个字符串数组 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'
nums
中的所有字符串 互不相同
通过代码
高赞题解
解题思路
只要和第i
个串下标i
的字符nums[i][i]
不同,构造出来的串就和所有的串都不同。
只限于串数不超过串长的情况。
时间复杂度O(n)
。
代码
class Solution {
public:
string findDifferentBinaryString(vector<string>& nums) {
string ans;
int n = nums.size();
for (int i = 0; i < n; i++) {
if (nums[i][i] == '0') {
ans += '1';
} else {
ans += '0';
}
}
return ans;
}
};
统计信息
通过次数 | 提交次数 | AC比率 |
---|---|---|
6130 | 10477 | 58.5% |
提交历史
提交时间 | 提交结果 | 执行时间 | 内存消耗 | 语言 |
---|