河南科技园网站建设,wordpress json rest ,建立网站顺序,网站长图怎么做给定一个排序数组和一个目标值#xff0c;在数组中找到目标值#xff0c;并返回其索引。如果目标值不存在于数组中#xff0c;返回它将会被按顺序插入的位置。
请必须使用时间复杂度为 O(log n) 的算法。
示例 1:
输入: nums [1,3,5,6], target 5 输出: 2 示例 2:
输入…给定一个排序数组和一个目标值在数组中找到目标值并返回其索引。如果目标值不存在于数组中返回它将会被按顺序插入的位置。
请必须使用时间复杂度为 O(log n) 的算法。
示例 1:
输入: nums [1,3,5,6], target 5 输出: 2 示例 2:
输入: nums [1,3,5,6], target 2 输出: 1 示例 3:
输入: nums [1,3,5,6], target 7 输出: 4
提示:
1 nums.length 104 -104 nums[i] 104 nums 为 无重复元素 的 升序 排列数组 -104 target 104
public int searchInsert(int[] nums, int target) {int n nums.length; // 数组长度int left 0, right n - 1, ans n; // 初始化左、右指针和答案while (left right) { // 当左指针小于等于右指针时执行循环int mid ((right - left) 1) left; // 计算中间索引if (target nums[mid]) { // 如果目标值小于等于中间值ans mid; // 更新答案为中间索引right mid - 1; // 缩小搜索范围至中间索引左侧} else {left mid 1; // 扩大搜索范围至中间索引右侧}}return ans; // 返回最终答案
}