leetcode 925. 长按键入 1239. 串联字符串的最大长度

it2024-01-19  68

925. 长按键入

class Solution: def isLongPressedName(self, name: str, typed: str) -> bool: if name[0]!=typed[0]: return False i = 1 j = 1 while i!=len(name) or j!=len(typed): if i!=len(name) and j!=len(typed) and name[i]==typed[j]: i,j=i+1,j+1 elif j<len(typed) and typed[j]==typed[j-1]: j+=1 else: return False return True

1239. 串联字符串的最大长度

class Solution: def maxLength(self, arr: List[str]) -> int: def overlay(s1,s2): bit_letter = 0 for c in s2: if (1<<(ord(c)-48))&bit_letter!=0: return True bit_letter|=(1<<(ord(c)-48)) for c in s1: if (1<<(ord(c)-48))&bit_letter!=0: return True bit_letter|=(1<<(ord(c)-48)) return False def dfs(before,i,arr): if i==len(arr): return 0 # print(overlay(before,arr[i]),before,arr[i]) if overlay(before,arr[i]): return dfs(before,i+1,arr) return max(dfs(before,i+1,arr),dfs(before+arr[i],i+1,arr)+len(arr[i])) return dfs("",0,arr)
最新回复(0)