TOP101题解 | BM46#最小的K个数#
最小的K个数
https://www.nowcoder.com/practice/6a296eb82cf844ca8539b57c23e6e9bf
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* @author Senky
* @date 2023.08.25
* @par url https://www.nowcoder.com/creation/manager/content/584337070?type=column&status=-1
* @brief
*
* @param input int整型一维数组
* @param inputLen int input数组长度
* @param k int整型
* @return int整型一维数组
* @return int* returnSize 返回数组行数
*/
#include <stdlib.h>
//快排
int compar(const void* q1, const void* q2)
{
return (*(int*)q1 - *(int*)q2);
}
int* GetLeastNumbers_Solution(int* input, int inputLen, int k, int* returnSize )
{
// write code here
if( 0 == k)
{
return NULL;
}
qsort(input, inputLen, sizeof(input[0]), compar);
int* result = (int*)malloc(sizeof(int));
*returnSize = 0;
for(int i = 0; i < k ; i++)
{
result[(*returnSize)++] = input[i];
result = realloc(result, (*returnSize + 1)*sizeof(int));
}
return result;
}
#TOP101#TOP101-BM系列 文章被收录于专栏
系列的题解
