脑洞题目 - 改自从一组无序数组中找不存在的最小正整数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了脑洞题目 - 改自从一组无序数组中找不存在的最小正整数相关的知识,希望对你有一定的参考价值。

    无聊想的题目,但题目创意改自从一组无序数组中找不存在的最小正整数。并不难,但也有陷阱,比考虑0和负数...

/**
 *    从无序数组中找不存在的最小正整数
 *    我的要求:比如:{3,4,6,9,20}中 最小的不存在的正整数为2
 */
#include <stdio.h>

int main()
{
	int arr[] = {-5, -10, 42, 29, 18, -3, 8, 20, -1};
	int i, j, temp;


	for(i = 1; i < sizeof(arr)/sizeof(int); i++)
	{
		j = i - 1;
		if(arr[j] < arr[i] && arr[j] > 0)
			temp = arr[j];
	}
	temp --;

	printf("%d\n", temp);
	return 0;
}

 

以上是关于脑洞题目 - 改自从一组无序数组中找不存在的最小正整数的主要内容,如果未能解决你的问题,请参考以下文章

求无序数组中未出现的最小正整数

[算法]数组中未出现的最小正整数

Leetcode刷题Python牛客. 数组中未出现的最小正整数

未出现的最小正整数

在O(n)时间复杂度内求无序数组中任意两个元素的最大差值,以及存在的组数

小米笔试题:无序数组中最小的k个数