Проблема с отправкой кода Leetcode - Сколько чисел меньше текущего, Массив возвращается пустым - PullRequest
0 голосов
/ 02 марта 2020

Вот мой код

Примечание: возвращаемый массив должен быть неправильно размещен, предположим, что вызывающая сторона свободна ().

int* smallerNumbersThanCurrent(int* nums, int numsSize, int* returnSize)
{
    int count=0;
    int cl[numsSize];
    for(int i=0;i<numsSize;i++)
    {
        count=0;
        for (int j=0;j<numsSize;j++)
        {
            if(i!=j)
            {
                if(nums[i]>nums[j])
                    count++;
            } 
        }
        cl[i]=count;
        printf("%d \t",cl[i]);
    }
    int *p=&cl[0];
    return p;
}

Вывод отображается как:

Wrong Answer
Runtime: 0 ms

Your input
[8,1,2,2,3]

stdout
4   0   1   1   3   

Output
[]

Expected
[4,0,1,1,3]

Я знаю, что могу сначала отсортировать, но я хочу знать, почему мой возвращенный массив остается пустым. Может кто-нибудь помочь мне здесь?

1 Ответ

0 голосов
/ 02 марта 2020

замените это:

 int cl[numsSize];

на это:

int *cl = (int*) malloc (numsSize * sizeof (int));  

И не забудьте освободить память, когда вы закончите sh с использованием ваших данных:

free (cl);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...