Skip to main content

20240505 1652 - Easy - List

1652. Defuse the Bomb

Easy

class Solution:
def decrypt(self, code: List[int], k: int) -> List[int]:
n = len(code)
res = [0] * n

# []
def rangeSum(i, j, code):
if i < 0:
# print(code[0:j+1], code[n+i:])
if j >= 0:
return sum(code[0:j+1]) + sum(code[n+i:])
else:
return sum(code[n+i:])
if j >= n:
return sum(code[i:]) + sum(code[0:j-n+1])
return sum(code[i:j+1])
if k == 0:
return res
if k > 0:
for i in range(n):
res[i] = rangeSum(i+1, i+k, code)
if k < 0:
for i in range(n):
res[i] = rangeSum(i+k, i-1, code)
return res