/* 自定義代碼塊樣式 */

herrDeng網內搜尋

自訂搜尋

Ads

2025年10月13日 星期一

Py3 C++計數bitmask與2 pointers速解Leetcode2273 Find Resultant Array After Re...


Py3 C++計數bitmask與2 pointers速解Leetcode2273  Find Resultant Array After Removing Anagrams
字串長度最長也只有10,四個bits一組,用bitmask解題
-----
The maximum length of a string is only 10, and four bits are grouped together. Use bitmask to solve the problem.
[Py3 code請進]

class Solution:
    def removeAnagrams(self, words: List[str]) -> List[str]:
        def freq(s):
            ans=0
            for c in s:
                i=ord(c)-97
                ans+=(1<<4*i)
            return ans
        n, l=len(words), 0
        ans=[words[0]]
        f0=freq(words[0])
        for r in range(1, n):
            s=words[r]
            x=freq(s)
            if f0!=x:
                ans.append(s)
                l=r
                f0=x
        return ans

沒有留言:

Related Posts Plugin for WordPress, Blogger...

熱門文章