[LeetCode][Java] Search Insert Position

Posted slgkaifa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LeetCode][Java] Search Insert Position相关的知识,希望对你有一定的参考价值。

题目:

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.

Here are few examples.
[1,3,5,6], 5 → 2
[1,3,5,6], 2 → 1
[1,3,5,6], 7 → 4
[1,3,5,6], 0 → 0

题意:

给定一个有序数组和一个目标值。假设在数组中找到该目标值。就返回这个目标值的位置标号。假设没有找到,就返回该目标值插入该数组中时的位置标号。

你能够如果该数组中没有反复元素。

以下是一些列子:

[1,3,5,6], 5 → 2
[1,3,5,6], 2 → 1
[1,3,5,6], 7 → 4
[1,3,5,6], 0 → 0

算法分析:

二分搜索就可以。

直接上代码

AC代码:

<span style="font-size:12px;">public class Solution 
{
    public int searchInsert(int[] A, int target) 
    {
        int i = 0; 
        int j = A.length - 1;
        
        while (i <= j) 
        {
            int mid = (int)((i + j)/2);
            if (A[mid] == target) 
                return mid;
            else if (A[mid] > target) 
                j = mid - 1;
            else 
                i = mid + 1;
        }
        return i;
    }
}</span>












以上是关于[LeetCode][Java] Search Insert Position的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode-面试算法经典-Java实现033-Search in Rotated Sorted Array(在旋转数组中搜索)

[LeetCode]题解(python):096-Unique Binary Search Trees

LeetCode 96. Unique Binary Search Trees

Leetcode 74 and 240. Search a 2D matrix I and II

[动态规划] leetcode 96 Unique Binary Search Trees

Leetcode:search_insert_position