fork download
  1. public class Main {
  2.  
  3. static int unique(int[] a) {
  4. int left = 0, right = a.length - 1;
  5.  
  6. while (left < right) {
  7. int mid = (left + right) / 2;
  8. boolean even = (mid % 2 == 0);
  9.  
  10. if (even) {
  11. if (a[mid] == a[mid + 1]) left = mid + 2;
  12. else right = mid;
  13. } else {
  14. if (a[mid] == a[mid - 1]) left = mid + 1;
  15. else right = mid - 1;
  16. }
  17. }
  18.  
  19. return a[left];
  20. }
  21.  
  22. public static void main(String[] args) {
  23. int[] nums = {1, 1, 4, 4, 7, 8, 8};
  24. System.out.println(unique(nums));
  25. }
  26. }
  27.  
Success #stdin #stdout 0.08s 54616KB
stdin
Standard input is empty
stdout
7