35 搜尋插入位置 7月17日

2022-09-12 19:09:14 字數 663 閱讀 7252

35. 搜尋插入位置

這個題比較簡單,用二分法即可。

在具體實現時,我最初想的是用乙個滑標,迭代調整滑標的位置,但是邊界調節並不好處理。

下面記乙個二分法的模板,視窗法,用left和right標識當前視窗的左右邊界。用mid=(left+right)/2下標對應的元素與目標值比較,根據比較結果更新left或right為mid+1或mid-1的值。直到left>right或者查詢到目標值。

class

solution

else

if(nums[mid]>target)

else

}if(nums[mid]>=target)return

mid;

else

return mid + 1

;

}};//

二分法//

本題要找的是target<=nums[i]的min i

//二分法通用模板!!!!/**

left = 0;right = n-1;

while(left<=right)else}*/

時間複雜度:logn

35 搜尋插入位置

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

35 搜尋插入位置

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

35 搜尋插入位置

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