fork download
  1. class Solution {
  2. public int singleNonDuplicate(int[] nums) {
  3. int lo = 0, hi = nums.length - 1;
  4.  
  5. while (lo < hi) {
  6. int mid = lo + (hi - lo) / 2;
  7.  
  8. if (mid % 2 == 1) mid--;
  9.  
  10. if (nums[mid] == nums[mid + 1]) {
  11. lo = mid + 2;
  12. } else {
  13. hi = mid;
  14. }
  15. }
  16. return nums[lo];
  17. }
  18.  
  19. public static void main(String[] args) {
  20. Solution solution = new Solution();
  21. int[] nums = {1, 1, 2, 2, 3, 3, 4, 5, 5};
  22. System.out.println("Single element: " + solution.singleNonDuplicate(nums));
  23. }
  24. }
  25.  
Success #stdin #stdout 0.11s 55580KB
stdin
Standard input is empty
stdout
Single element: 4