Skip to content
Rain Hu's Workspace
Go back

[LeetCode] 1652. Defuse the Bomb

Rain Hu
class Solution {
public:
    vector<int> decrypt(vector<int>& code, int k) {
        int n = code.size();
        vector<int> res(n, 0);
        if (k == 0) return res;
        int m = abs(k);
        int start = k > 0 ? 1 : n+k;
        int sum = 0;
        for (int i = 0; i < m; i++) {
            sum += code[(start + i) % n];
        }
        res[0] = sum;
        for (int i = m, j = 1; i < m + n - 1; i++, j++) {
            int in = (start + i) % n;
            int out = (start + i - k) % n;
            sum += (code[(start + i) % n] - code[(start + i - m) % n]);
            res[j] = sum;
        }
        return res;
    }
};

Share this post on:

Previous
[LeetCode] 1297. Maximum Number of Occurrences of a Substring
Next
[LeetCode] 1. Two Sum