Created
February 20, 2025 07:58
-
-
Save SuryaPratapK/afb03e989e9cce8a62e5767cc4d07dab to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Solution { | |
string res; | |
bool buildNumber(unordered_set<string>& numbers,string& curr,int& n){ | |
if(curr.size() == n){ | |
if(numbers.count(curr)==0){ | |
res = curr; | |
return true; | |
} | |
return false; | |
} | |
//Try '0' | |
curr.push_back('0'); | |
if(buildNumber(numbers,curr,n)) return true; | |
curr.pop_back(); | |
//Try '1' | |
curr.push_back('1'); | |
if(buildNumber(numbers,curr,n)) return true; | |
curr.pop_back(); | |
return false; | |
} | |
public: | |
string findDifferentBinaryString(vector<string>& nums) { | |
int n=nums.size(); | |
unordered_set<string> numbers(nums.begin(),nums.end()); | |
string curr=""; | |
buildNumber(numbers,curr,n); | |
return res; | |
} | |
}; | |
/* | |
//JAVA | |
import java.util.*; | |
class Solution { | |
private String res; | |
private boolean buildNumber(Set<String> numbers, String curr, int n) { | |
if (curr.length() == n) { | |
if (!numbers.contains(curr)) { | |
res = curr; | |
return true; | |
} | |
return false; | |
} | |
// Try '0' | |
if (buildNumber(numbers, curr + '0', n)) { | |
return true; | |
} | |
// Try '1' | |
if (buildNumber(numbers, curr + '1', n)) { | |
return true; | |
} | |
return false; | |
} | |
public String findDifferentBinaryString(String[] nums) { | |
int n = nums.length; | |
Set<String> numbers = new HashSet<>(Arrays.asList(nums)); | |
buildNumber(numbers, "", n); | |
return res; | |
} | |
} | |
#Python | |
class Solution: | |
def __init__(self): | |
self.res = "" | |
def buildNumber(self, numbers, curr, n): | |
if len(curr) == n: | |
if curr not in numbers: | |
self.res = curr | |
return True | |
return False | |
# Try '0' | |
if self.buildNumber(numbers, curr + '0', n): | |
return True | |
# Try '1' | |
if self.buildNumber(numbers, curr + '1', n): | |
return True | |
return False | |
def findDifferentBinaryString(self, nums): | |
n = len(nums) | |
numbers = set(nums) | |
self.buildNumber(numbers, "", n) | |
return self.res | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment