Advertisement
nikunjsoni

540

May 15th, 2021
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.50 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     int singleNonDuplicate(vector<int>& nums) {
  4.         int l=0, r=nums.size()-1;
  5.         if(nums.size() == 1) return nums[0];
  6.         while(l<=r){
  7.             int mid = (l+r)/2;
  8.             if((mid&1 && nums[mid] == nums[mid-1]) || (mid%2==0 && nums[mid] == nums[mid+1]))
  9.                 l = mid+1;
  10.             else if((mid&1 && nums[mid] != nums[mid-1]) || (mid%2==0 && nums[mid] != nums[mid+1]))
  11.                 r = mid-1;
  12.         }
  13.         return nums[l];
  14.     }
  15. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement