Study Plan For Algorithms - Part25

WindMay發表於2024-09-08

1. 字母異位詞分組
題目連結:https://leetcode.cn/problems/group-anagrams/
給定一個字串陣列,將 字母異位詞 組合在一起。

class Solution:
    def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
        hashmap = {}
        for s in strs:
            sorted_s = ''.join(sorted(s))
            if sorted_s in hashmap:
                hashmap[sorted_s].append(s)
            else:
                hashmap[sorted_s] = [s]
        return list(hashmap.values())

2. Pow(x, n)
題目連結:https://leetcode.cn/problems/powx-n/
實現 pow(x, n) ,即計算 x 的整數 n 次冪函式。

class Solution:
    def myPow(self, x: float, n: int) -> float:
        if n == 0:
            return 1
        if n < 0:
            x = 1 / x
            n = -n
        res = 1
        while n:
            if n & 1:
                res *= x
            x *= x
            n >>= 1
        return res

相關文章