4 搜尋插入位置

2021-10-17 15:12:23 字數 693 閱讀 7166

題目描述:給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。可以假設陣列中無重複數。

示例:

輸入:[1,3,5,6],5

輸出:2

解法一:遍歷陣列,比較是否在陣列中存在目標值,如果存在,返回當前下標,否則比較目標值與當前值的大小,判斷插入的位置。

public static int returnlocation(int nums, int target) 

int i = 0;

while (i < len - 1) else if (nums[i] < target && nums[i + 1] > target) else if (target > nums[len - 1]) else if (target < nums[0])

i++;

}return i;

}

二分查詢法。

//解法2:二分查詢

public static int returnlocation2(int nums, int target) else

}return ans;

}

搜尋插入位置

給定乙個排序陣列和乙個目標值,如果在陣列中找到目標值則返回索引。如果沒有,返回到它將會被按順序插入的位置。你可以假設在陣列中無重複元素。二分搜尋法 如果找不到該數,high是比該數小的那個數的下標,而low是比該數大的那個數的下標。public class solution param a an i...

搜尋插入位置

給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。你可以假設陣列中無重複元素。示例 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...