Defuse the Bomb

You have a bomb to defuse, and your time is running out. Your informer will provide you with a circular array code of length n and a key k.

To decrypt the code, you must replace every number. All the numbers are replaced simultaneously.

  • If k > 0, replace the i^th number with the sum of the next k numbers.
  • If k < 0, replace the i^th number with the sum of the previous -k numbers.
  • If k == 0, replace the i^th number with 0.

As code is circular, the next element of code[n - 1] is code[0], and the previous element of code[0] is code[n - 1].

Given the circular array code and an integer key k, return the decrypted code to defuse the bomb.

Example 1
Inputcode = [5,7,1,4], k = 3
Output[12,10,16,13]
Each number is replaced by the sum of the next 3 numbers, wrapping around the circular array.
Example 2
Inputcode = [1,2,3,4], k = 0
Output[0,0,0,0]
When k is zero, every number is replaced by 0.

Constraints

  • n == code.length
  • 1 <= n <= 100
  • 1 <= code[i] <= 100
  • -(n - 1) <= k <= n - 1

Asked at 5 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate