Description
Fat brother recently studied number theory, him came across a very big problem — minimum does not appear positive integer. Fat brother get n positive integers, he needs to find out the least a positive integer and the positive integer is not in his n positive integers.
Input
There are multiple test cases. The first line of input contains an integer T (T <= 25) indicating the number of test cases. For each test case:
The first line contains a single integer n (1 <= n <= 1000)
The second line contains n positive integer ai ( 1 <= ai <= 1000000000)
Output
For each test case, output the minimum positive integer which didn’t appear in the n positive integer
Sample Input
2
5
1 2 3 4 5
5
1 100 101 102 103
Sample Output
6
2
即给定数组,输出未出现在该数组中最小的数,注意要先排序,sort的用法。
#include <cstdio>
#include <algorithm>
int main(void)
{
int t, n;
int num[1100];
while(scanf("%d", &t) != EOF)
{
while(t--)
{
scanf("%d", &n);
for(int i = 0; i < n; i++)
{
scanf("%d", &num[i]);
}
std::sort(num, num+n);
int i = 0;
if(num[i] > 1)
{
printf("1\n");
}
else
{
for(; i < n-1; i++)
{
if(num[i+1]-num[i] > 1)
break;
}
printf("%d\n", num[i]+1);
}
}
}
return 0;
}
STL中自带了排序函数——sort, 通常其表示为 sort(begin, end),即排序的区间、范围(需包涵<algorithm>和std)。
int main(void)
{
int a[5] {1, 4, 6, 2, 3};
std::sort(a, a+5);
return 0;
}
sort默认排序方式为从小到大排列,要想从大到小排列,可以自定义一个函数,做为 sort 的第三个参数。
int main(void)
{
bool func(int, int);
std::sort(a, a+5, func);
return 0;
}
bool func(int a, int b)
{
return a>b;
}