题目描述
自己解法
利用前缀和,时间复杂度 O ( n ) O(n) O(n),空间复杂度 O ( n ) O(n) O(n):
class Solution:
def findLongestSubarray(self, array: List[str]) -> List[str]:
ans = []
locDict = {0:-1}
temp = 0
for i,str in enumerate(array):
if '0' <= str[0] <= '9': ##字符为数字
temp -= 1
else:
temp += 1
if temp in locDict:
if i - locDict[temp] > len(ans):
ans = array[locDict[temp]+1:i+1]
else:
locDict[temp] = i
return ans