LeetCode1652. 拆炸弹

题目描述:1652. 拆炸弹 - 力扣(LeetCode)

题目描述看的不是很清楚,直接看用例。这道题是简单题,取模,防止数组访问越界。

C语言代码如下:

int* decrypt(int* code, int codeSize, int k, int* returnSize)
{
    *returnSize = codeSize;
    int * ans = (int *)calloc(codeSize, sizeof(int));
    if (k == 0) {
        return ans;
    } else if (k < 0) {
        for (int i = 0; i < codeSize; i++) {
            for (int j = 1; j <= -k; j++) {
                ans[i] += code[(i - j + codeSize) % codeSize];
            }
        }
    } else {
        for (int i = 0; i < codeSize; i++) {
            for (int j = 1; j <= k; j++) {
                ans[i] += code[(i + j) % codeSize];
            }
        }
    }
    return ans;
}