給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。
你可以假設陣列中無重複元素。
示例 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此題還是二分查詢,我們的目標是找target,當nums[mid]小於target時,說明target在不包括mid的右側,否則在包括mid的左側。當退出while迴圈後,如果找出的數等於target,則返回即可;如果不等於,那麼分析可知我們找出的是從左往右第乙個大於target的數,所以如果把target插入進來,那麼將還是這個位置,所以也可以直接返回找出的下標。特殊情況是,如果target大於陣列的最後乙個數,那麼插入target後的位置應該是nums.size(),然後返回該位置。所以綜上,返回時應該判斷一下是不是這種特殊情況。
class solution
return nums[nums.size() - 1] < target? nums.size() : l;
}};
LeetCode 35 搜尋插入位置
35 搜尋插入位置 給定乙個排序陣列和乙個目標值,如果在陣列中找到目標值則返回索引。如果沒有,返回到它將會被按順序插入的位置。你可以假設在陣列中無重複元素。案例 1 輸入 1,3,5,6 5 輸出 2 案例 2 輸入 1,3,5,6 2 輸出 1 案例 3 輸入 1,3,5,6 7 輸出 4 案例 ...
LeetCode 35 搜尋插入位置
題目描述 給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。示例 示例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 輸出...
leetcode 35 搜尋插入位置
題目 給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。你可以假設陣列中無重複元素。示例 1 輸入 1,3,5,6 5輸出 2示例 2 輸入 1,3,5,6 2輸出 1示例 3 輸入 1,3,5,6 7輸出 4示例 4 輸入 1,...