package g0001_0100.s0035_search_insert_position; // #Easy #Top_100_Liked_Questions #Array #Binary_Search #Algorithm_I_Day_1_Binary_Search // #Binary_Search_I_Day_2 #Top_Interview_150_Binary_Search #Big_O_Time_O(log_n)_Space_O(1) // #2024_11_10_Time_0_ms_(100.00%)_Space_43_MB_(40.42%) public class Solution { public int searchInsert(int[] nums, int target) { int lo = 0; int hi = nums.length - 1; while (lo <= hi) { int mid = lo + (hi - lo) / 2; if (target == nums[mid]) { return mid; } else if (target < nums[mid]) { hi = mid - 1; } else if (target > nums[mid]) { lo = mid + 1; } } return lo; } }