2023年9月6日 星期三

[2190] Most Frequent Number Following Key In an Array

歡樂的題目XD 不過一開始比對錯了我到底在想什麼呢XD

一開始的寫法總是慢了一點點點兒~
int mostFrequent(int* nums, int numsSize, int key){
    int *count = calloc (1000, sizeof(int));
    int max = INT_MIN;
    int ret = -1;
    for (int i=0;i<numsSize-1; i++)
    {
        if (nums[i] == key)
        {
            count[nums[i+1]-1]++;
            if (count[nums[i+1]-1] > max)
            {
                max = count[nums[i+1]-1];
                ret = nums[i+1];
            }
        }
    }
    return ret;
}

加減改了一下index,應該有少運算幾次吧(?)XD
int mostFrequent(int* nums, int numsSize, int key){
int *count = calloc (1000, sizeof(int));
int max = INT_MIN;
int ret = -1;
for (int i=1;i<numsSize; i++)
{
if (nums[i-1] == key)
{
int tmp = ++count[nums[i]-1];
if (tmp > max)
{
max = tmp;
ret = nums[i];
}
}
}
return ret;
}

沒有留言:

張貼留言