This solution is generated by ChatGPT, correctness is not guaranteed. You might also be able to find a solution fromcommunity posts.
AI solution for JavaScript Coding Question on BFE.dev
50. search element right before target with Binary Search(possible duplicate array)
Solution:
We will use binary search to find the element right before first appearance of target number.
Here is the JavaScript code for the solution.
/** * @param {number[]} nums - sorted ascending array with duplicate numbers * @param {number} target * @return {number|undefined} */function binarySearchLastBefore(nums, target) { let left = 0; let right = nums.length - 1; let index = -1; while (left <= right) { // middle index const mid = Math.floor((left + right) / 2); if (nums[mid] === target) { // if mid index is target and mid index is not first element of array AND // previous element to mid index is not target then return nums[mid-1] if (mid > 0 && nums[mid-1] !== target) { index = mid-1; break; } else { // Otherwise try for the left half right = mid-1; } } else if (nums[mid] < target) { // Try for right half left = mid+1; } else { // Try for left half right = mid-1; } } if (index !== -1) { return nums[index]; } return undefined;}