Maximum Length of a Concatenated String with Unique Characters LeetCode solution in Python
1# Runtime: 266 ms (Top 32.10%) | Memory: 14.1 MB (Top 35.69%)2class Solution:3def maxLength(self, arr: List[str]) -> int:4ans = 05count = [0] * 266counts = []7new_arr = []89for string in arr:10flag = True11tmp = [0] * 2612for ch in string:13if tmp[ord(ch) - 97] == True:14flag = False15break16else:17tmp[ord(ch) - 97] = True1819if flag == False:20continue21counts.append(tmp)22new_arr.append(string)2324n = len(new_arr)2526def compatible(a, b):27for i in range(26):28if a[i] == True and b[i] == True:29return False30return True3132def addUp(a, b):33for i in range(26):34if b[i] == True:35a[i] = True3637def solve(index, count):38if index == n:39return 040cpy = count.copy()41ch1 = -inf42if compatible(count, counts[index]):43addUp(count, counts[index])44ch1 = solve(index + 1, count) + len(new_arr[index])45ch2 = solve(index + 1, cpy)46ans = max(ch1, ch2)47return ans4849return solve(0, count)