1239. Maximum Length of a Concatenated String with Unique Characters
Runtime: 39 ms, faster than 23.63% of Java online submissions for Maximum Length of a Concatenated String with Unique Characters.
Memory Usage: 38.9 MB, less than 38.68% of Java online submissions for Maximum Length of a Concatenated String with Unique Characters.
class Solution {
public int maxLength(List<String> arr) {
return maxLengthRec(arr, 0, "");
}
public int maxLengthRec(List<String> arr, int index, String word) {
if(index > arr.size()-1)
return 0 ;
int thisRun1 = 0;
String word1 = word + arr.get(index);
if(valid(word1)) {
thisRun1 = Math.max(word1.length(), maxLengthRec(arr, index + 1, word1));
}
int thisRun2 = 0;
String word2 = word;
if(valid(word2)) {
thisRun2 = Math.max(word2.length(), maxLengthRec(arr, index + 1, word2));
}
return Math.max(thisRun1, thisRun2);
}
public boolean valid(String str) {
Set<Character> set = new HashSet<>();
for(int i=0; i< str.length(); i++) {
if(set.contains(str.charAt(i)))
return false;
else
set.add(str.charAt(i));
}
return true;
}
}