| https://leetcode.com/problems/defuse-the-bomb/description/ | Easy |
|---|
class Solution {
fun decrypt(code: IntArray, k: Int): IntArray {
val n = code.size
val result = IntArray(n)
if (k == 0) return result
val arr = IntArray(2 * n) { i -> code[i % n] }
val ps = IntArray(2 * n + 1)
for (i in arr.indices) ps[i + 1] = ps[i] + arr[i]
if (k > 0) {
for (i in 0 until n) {
result[i] = ps[i + k + 1] - ps[i + 1]
}
} else {
for (i in 0 until n) {
result[i] = ps[n + i] - ps[n + i + k]
}
}
return result
}
}