LeetCode程序员面试金典:搜索插入位置

发布时间:2023-04-25 11:00:21

  题目:

  给出一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,则返回按顺序插入的位置。

  请务必使用时间复杂度 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

  代码实现:class Solution { 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; }}

上一篇 LeetCode面试题:分隔链表
下一篇 想要性能提升?看看这篇文章告诉你性能场景的数据该怎么做!

文章素材均来源于网络,如有侵权,请联系管理员删除。

标签: Java教程Java基础Java编程技巧面试题Java面试题