给出n个数,找出其中未出现的最小正整数。
只需要统计1-n是否出现,找最小未出现的即可,比如给出n个数,最多也是1-n都出现一次,那么最小未出现都是n+1,所以只需要统计1-n
代码:
#include <stdio.h> #define MAX 100 int main() { int n,d; char vis[MAX + 1] = {0}; scanf("%d",&n); for(int i = 0;i < n;i ++) { scanf("%d",&d); if(d > 0 && d <= n) vis[d] = 1; } d = 1; while(d <= n && vis[d]) d ++; printf("%d",d); return 0; }
原文:https://www.cnblogs.com/8023spz/p/11845962.html