LeetCode題解(1652):拆炸彈(Python)

長行發表於2020-12-08

題目:原題連結(簡單)

標籤:陣列

解法時間複雜度空間複雜度執行用時
Ans 1 (Python) O ( N ) O(N) O(N) O ( N ) O(N) O(N)52ms (44.78%)
Ans 2 (Python)
Ans 3 (Python)

解法一:

class Solution:
    def decrypt(self, code: List[int], k: int) -> List[int]:
        if k == 0:
            return [0] * len(code)
        elif k > 0:
            res = []
            for i in range(len(code)):
                val = 0
                for j in range(i + 1, i + k + 1):
                    j %= len(code)
                    val += code[j]
                res.append(val)
            return res
        else:
            res = []
            for i in range(len(code)):
                val = 0
                for j in range(i + k, i):
                    j = (j + len(code)) % len(code)
                    val += code[j]
                res.append(val)
            return res

相關文章