• 這題要用 sliding window 解需要處理 circular iteration
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;
    }
};