搜尋插入位置

2021-09-07 07:52:55 字數 877 閱讀 4201

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

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

示例 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:

def searchinsert(self, nums, target):

""":type nums: list[int]

:type target: int

:rtype: int

"""lens = len(nums)

for i in range(0,lens):

if target == nums[i]:

return i

if target < nums[0]:

return 0

if nums[i]target):

return i+1

搜尋插入位置

給定乙個排序陣列和乙個目標值,如果在陣列中找到目標值則返回索引。如果沒有,返回到它將會被按順序插入的位置。你可以假設在陣列中無重複元素。二分搜尋法 如果找不到該數,high是比該數小的那個數的下標,而low是比該數大的那個數的下標。public class solution param a an i...

搜尋插入位置

給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。你可以假設陣列中無重複元素。示例 1 輸入 1,3,5,6 5 輸出 2 直接用二分法,注意left和right的更新方式,在while中只用返回mid,if else中更新lef...

搜尋插入位置

題目 給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。你可以假設陣列中無重複元素。方法一 簡單for迴圈,時間複雜度為o n class solution else if nums i target return i 方法二 利...