35. 搜尋插入位置
這個題比較簡單,用二分法即可。
在具體實現時,我最初想的是用乙個滑標,迭代調整滑標的位置,但是邊界調節並不好處理。
下面記乙個二分法的模板,視窗法,用left和right標識當前視窗的左右邊界。用mid=(left+right)/2下標對應的元素與目標值比較,根據比較結果更新left或right為mid+1或mid-1的值。直到left>right或者查詢到目標值。
class時間複雜度:lognsolution
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}*/
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 輸入...