程式語言 - LeetCode - C - 1679. Max Number of K-Sum Pairs



參考資訊:
https://www.cnblogs.com/cnoodle/p/14225820.html

題目:


解答:

int mysort(const void *a, const void *b)
{
    return (*(const int *)a) - (*(const int *)b);
}

int maxOperations(int* nums, int numsSize, int k)
{
    int r = 0;
    int st = 0;
    int ed = numsSize - 1;

    qsort(nums, numsSize, sizeof(int), mysort);

    while (st < ed) {
        int v = nums[st] + nums[ed];

        if (v == k) {
            r += 1;
            st += 1;
            ed -= 1;
        }
        else if (v < k) {
            st += 1;
        }
        else {
            ed -= 1;
        }
    }

    return r;
}