Advertisement
yarin0600

Untitled

Nov 17th, 2023
471
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solution(arr) {
  2.   if (arr[0] == 1) return 0;
  3.  
  4.   let i = 1;
  5.   for (; i < arr.length && arr[i] == 0; i *= 2) {}
  6.  
  7.   let left = Math.floor(i / 2) + 1;
  8.   let right = i >= arr.length ? arr.length - 1 : i;
  9.   let mid = -1;
  10.  
  11.   while (left <= right) {
  12.     mid = Math.ceil((right - left) / 2 + left);
  13.     if (arr[mid] == 1 && arr[mid - 1] == 0) return mid;
  14.     else if (arr[mid] == 0) left = mid + 1;
  15.     else right = mid - 1;
  16.   }
  17.  
  18.   return -1;
  19. }
  20.  
  21. const arr = [0, 1, 1, 1, 1];
  22. console.log(solution(arr));
  23.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement