嘎 陣列 搜尋插入位置

2022-07-26 13:45:12 字數 819 閱讀 3518

題目:

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

你可以假設陣列中無重複元素。

解答:(其中一開始沒有注意到target > nums[len - 1] 的情況)

class solution 

int res = 0;

for (int i = 0; i < len-1; i++) else

if (nums[i+1] == target) }}

// 大於最後一位數

看了看別人的解法,我寫的除了for迴圈之外的上下兩種解法都可以歸結為 return nums.length;

然後我把res去掉直接就在for迴圈裡面return,最後return了nums.length,然後就出錯了,因為for迴圈裡面沒有考慮到target < nums[0]的情況,上面那種寫法不出錯是因為res初始化的時候為0了。

其實for迴圈裡面只要判斷是不是小於就可以了

public

int searchinsert(int nums, int

target)

}return

nums.length;

}

搜尋插入位置

給定乙個排序陣列和乙個目標值,如果在陣列中找到目標值則返回索引。如果沒有,返回到它將會被按順序插入的位置。你可以假設在陣列中無重複元素。二分搜尋法 如果找不到該數,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...