41. 缺失的第一个正数
1 class Solution 2 { 3 public: 4 int firstMissingPositive(vector<int>& nums) 5 { 6 int minV = INT_MAX; 7 int maxV = INT_MIN; 8 int n = nums.size(); 9 int res = 1; 10 for(int i = 0;i < n;i ++) //求出数组中的最大值与最小值 11 { 12 if(minV > nums[i]) minV = nums[i]; 13 if(maxV < nums[i]) maxV = nums[i]; 14 } 15 //如果最小值大于1或者最大值小于1,则返回1 16 if(minV > 1 || maxV < 1) return 1; 17 minV = max(minV,1);// 找到区间[1,maxV] 18 for(auto a : nums) 19 { 20 //如果可以找到最小值,最小值就++ 21 auto it = find(nums.begin(),nums.end(),minV); 22 if(it != nums.end()) minV++; 23 } 24 return minV;//返回最小值 25 } 26 };
Mamba never out

浙公网安备 33010602011771号