Leetcode 1239 : Maximum Length of a Concatenated String with Unique Characters
Solution to Maximum Length of a Concatenated String with Unique Characters problem.
class Solution {
int maxLen = 0;
public int maxLength(List<String> arr) {
findMaxLen(arr, 0, "");
return maxLen;
}
private void findMaxLen(List<String> arr, int ndx, String curStr) {
if(!isUnique(curStr)) {
return;
}
maxLen = Math.max(maxLen, curStr.length());
for(int i=ndx;i<arr.size();i++) {
if(isUnique(arr.get(i))) {
findMaxLen(arr, i + 1, curStr + arr.get(i));
}
}
}
private static boolean isUnique(String curStr) {
int[] cnt = new int[26];
for(char c : curStr.toCharArray()) {
if (++cnt[c - 'a'] > 1) return false;
}
return true;
}
}