1. 程式人生 > >[LeetCode][Java] Search Insert Position

[LeetCode][Java] Search Insert Position

uri 一個 while mar 能夠 分析 數組 solution java

題目:

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