给一个素数数组,找到最小的未出现的素数
样例
样例1
输入: [3,5,7]
输出: 2
样例2
输入: [2,3,5,7,11,13,17,23,29]
输出: 19
class Solution {
public:
/**
* @param nums: an array of integer
* @return: the first missing prime number
*/
int firstMissingPrime(vector<int> &nums) {
// write your code here
if(nums.size() == 0)
return 2;
for(int i = 2; i <= nums[nums.size()-1]; i++)
{
if(isPrime(i))
{
int j = 0;
for(; j < nums.size(); j++)
{
if(nums[j] == i)
break;
}
if(j == nums.size())
return i;
}
}
for(int i = nums[nums.size()-1]+1; ; i++)
{
if(isPrime(i))
return i;
}
return -1;
//return -1;
}
bool isPrime(int n) {
if (n == 1) {
return false;
}
for (int i = 2; n / i >= i; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
};