2024年9月13日 星期五

[1310] XOR Queries of a Subarray

用heap搜尋出來的題目,寫完覺得跟heap 一點關係也沒有,才發現它只是今天的daily所以放在搜尋回應的第一排  XD

不過也是一個,面試考我這題我會大慌張的題目吧。沒看解答根本不會啊!哈!

/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
int* xorQueries(int* arr, int arrSize, int** queries, int queriesSize, int* queriesColSize, int* returnSize) {
    int *prefix  = calloc (arrSize, sizeof(int));
    int *ret  = calloc (queriesSize, sizeof(int));
    *returnSize = queriesSize;
    prefix[0]= arr[0];
    for (int i=1; i<arrSize; i++)
        prefix[i]= prefix[i-1]^ arr[i];

    for (int i=0; i<queriesSize; i++)
    {
        if (queries[i][0]== 0)
            ret[i]= prefix[queries[i][1]];
        else
            ret[i]= prefix[queries[i][1]] ^ (prefix[queries[i][0]-1]);
    }
    return ret;
}

沒有留言:

張貼留言