搜尋插入位置

2021-07-24 19:01:47 字數 621 閱讀 3523

給定乙個排序陣列和乙個目標值,如果在陣列中找到目標值則返回索引。如果沒有,返回到它將會被按順序插入的位置。

你可以假設在陣列中無重複元素。【二分搜尋法】

如果找不到該數,high是比該數小的那個數的下標,而low是比該數大的那個數的下標。

public class solution {

/** 

* param a : an integer sorted array

* param target :  an integer to be inserted

* return : an integer

*/public int searchinsert(int a, int target) {

// write your code here

if(a.length==0 || a==null)

return 0;

int low = 0;

int high = a.length-1;

while(low<=high){//注意等號

int mid = (low+high)/2;

if(a[mid]==target)

return mid;

else if(a[mid]

搜尋插入位置

給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。你可以假設陣列中無重複元素。示例 1 輸入 1,3,5,6 5輸出 2示例 2 輸入 1,3,5,6 2輸出 1示例 3 輸入 1,3,5,6 7輸出 4示例 4 輸入 1,3,5...

搜尋插入位置

給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。你可以假設陣列中無重複元素。示例 1 輸入 1,3,5,6 5 輸出 2 直接用二分法,注意left和right的更新方式,在while中只用返回mid,if else中更新lef...

搜尋插入位置

題目 給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。你可以假設陣列中無重複元素。方法一 簡單for迴圈,時間複雜度為o n class solution else if nums i target return i 方法二 利...