Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solution(arr) {
- if (arr[0] == 1) return 0;
- let i = 1;
- for (; i < arr.length && arr[i] == 0; i *= 2) {}
- let left = Math.floor(i / 2) + 1;
- let right = i >= arr.length ? arr.length - 1 : i;
- let mid = -1;
- while (left <= right) {
- mid = Math.ceil((right - left) / 2 + left);
- if (arr[mid] == 1 && arr[mid - 1] == 0) return mid;
- else if (arr[mid] == 0) left = mid + 1;
- else right = mid - 1;
- }
- return -1;
- }
- const arr = [0, 1, 1, 1, 1];
- console.log(solution(arr));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement