【LeetCode】35. Search Insert Position - Java实现

文章目录

  • 1. 题目描述:
  • 2. 思路分析:
  • 3. Java代码:

1. 题目描述:

Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.

You may assume no duplicates in the array.

Example 1:

Input: [1,3,5,6], 5
Output: 2

Example 2:

Input: [1,3,5,6], 2
Output: 1

Example 3:

Input: [1,3,5,6], 7
Output: 4

Example 4:

Input: [1,3,5,6], 0
Output: 0

2. 思路分析:

题目的意思是在有序数组中找到target,如果没找到,则返回target应该插入的位置下标。

思路很简单,就是一个简单的二分查找。

3. Java代码:

源代码:见我GiHub主页

代码:

public static int searchInsert(int[] nums, int target) {
    int left = 0;
    int right = nums.length - 1;
    while (left <= right) {
        int mid = left + (right - left) / 2;
        if (nums[mid] == target) {
            return mid;
        } else if (nums[mid] > target) {
            right = mid - 1;
        } else {
            left = mid + 1;
        }
    }
    return left;
}

你可能感兴趣的:(【LeetCode】,【Java】,LeetCode题解,-,Java实现)