標籤:leetcode java search insert positi
題目:
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