Re: [闲聊] 每日leetcode

楼主: DJYOMIYAHINA (通通打死)   2025-01-04 20:02:19
看了一下大家好像差不多
不过后面算中间字母数的地方 原本想要用26*n的perfix cnt arr来找
想了想挺白吃的
还是先这样就好
def countPalindromicSubsequence(self, s: str) -> int:
n = len(s)
l_find = [-1 for _ in range(26)]
r_find = [-1 for _ in range(26)]
for i in range(n):
if l_find[ord(s[i])-ord('a')] == -1:
l_find[ord(s[i])-ord('a')] = i
for i in range(n-1, -1, -1):
if r_find[ord(s[i])-ord('a')] == -1:
r_find[ord(s[i])-ord('a')] = i
ans = 0
for i in range(26):
if l_find[i]+1<n and r_find[i] != -1:
ans += len(set(s[l_find[i]+1:r_find[i]]))
return ans
作者: PogChampLUL (火车站肥宅)   2025-01-04 20:04:00
大师 别卷了

Links booklink

Contact Us: admin [ a t ] ucptt.com