題目描述:
給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。
你可以假設陣列中無重複元素。
示例 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,6], 0
輸出: 0
題解:
class
solution
//若target不在原陣列中為什麼最終都是返回left?
//1.若target比排序陣列中任一數都大,到最後left會從左到右二分查詢最終等於right(nums.lrngth-1)
// 會滿足(nums[middle]left=middle+1
//2.若target比排序陣列中任一數都小,此時left=0 在這基礎上直接返回left即可
//3.若target比排序陣列中某任一數小,此時left=right=middle target按照順序插入的下標就是left(right/middle)的下標
return left;
}}
leetcode35 搜尋插入位置 二分查詢
給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。你可以假設陣列中無重複元素。示例 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...
leetcode 35 搜尋插入位置 二分查詢
給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。你可以假設陣列中無重複元素。示例 1 輸入 1,3,5,6 5 輸出 2 示例 2 輸入 1,3,5,6 2 輸出 1 示例 3 輸入 1,3,5,6 7 輸出 4 示例 4 輸入...
LeetCode 查詢 二分查詢
給定乙個 n 個元素有序的 公升序 整型陣列 nums 和乙個目標值 target 寫乙個函式搜尋 nums 中的 target,如果目標值存在返回下標,否則返回 1。示例 輸入 nums 1,0,3,5,9,12 target 9 輸出 4 解釋 9 出現在 nums 中並且下標為 4 輸入 nu...