Advertisement
vaibhav1906

MUX MUX - Vaibhav

Aug 3rd, 2022
945
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.96 KB | None | 0 0
  1. #include <cmath>
  2. #include <cstdio>
  3. #include <vector>
  4. #include <iostream>
  5. #include <algorithm>
  6. using namespace std;
  7.  
  8. int firstMissingNonNegative(vector<int>& nums) {
  9.         int n=nums.size();
  10.         for(int i=0;i<n;i++){
  11.             if(nums[i]>=0 && nums[i]<n && nums[i]!=nums[nums[i]]){
  12.                 swap(nums[i],nums[nums[i]]);
  13.                 i--;
  14.             }
  15.         }
  16.        
  17.         for(int i=0;i<n;i++){
  18.             if(nums[i]!=i)
  19.                 return i;
  20.         }
  21.        
  22.         return n;
  23. }
  24.  
  25. int main() {
  26.     /* Enter your code here. Read input from STDIN. Print output to STDOUT */  
  27.     int t;
  28.     cin>>t;
  29.    
  30.     while(t--){
  31.         int n;
  32.         cin>>n;
  33.         vector<int> nums;
  34.        
  35.         for(int i = 0; i<n; i++){
  36.             int val;
  37.             cin>>val;
  38.             nums.push_back(val);
  39.         }
  40.        
  41.         int ans = firstMissingNonNegative(nums);
  42.        
  43.         cout<<ans<<endl;
  44.     }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement