int findNoAppearingMinNum(int arr[], int n) {
int i;
int* toolArr = (int*)malloc(sizeof(int) * n);
if (toolArr == NULL) {
return -1;
}
memset(toolArr, 0, sizeof(int) * n);
for (i = 0; i < n; i++) {
if (arr[i] > 0 && arr[i] <= n) {
toolArr[arr[i] - 1] = 1;
}
}
for (i = 0; i < n; i++) {
if (toolArr[i] == 0) {
free(toolArr);
return i + 1;
}
}
free(toolArr);
return n + 1;
}
考研数据结构代码题(寻找未出现的最先正整数)
最新推荐文章于 2024-10-09 22:30:19 发布