LeetCode 035 搜尋插入位置

2022-09-22 06:51:53 字數 981 閱讀 3074

問題描述:

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

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

方法1:for 迴圈

class

solution(object):

defsearchinsert(self, nums, target):

""":type nums: list[int]

:type target: int

:rtype: int

"""if target > nums[-1]:

return

len(nums)

for i in

range(len(nums)):

if nums[i] ==target:

return

i

if nums[i] >target:

return i

方法2:二分法查詢

class

solution(object):

defsearchinsert(self, nums, target):

""":type nums: list[int]

:type target: int

:rtype: int

"""start, end = 0, len(nums) - 1

while start <= end:

mid = (start + end) // 2

if target ==nums[mid]:

return

mid

if target end = mid - 1

else

: start = mid + 1

return start

2018-07-23 18:27:11

035搜尋插入位置

1 include 000庫函式 h 2 3 第一眼,感覺沒什麼考慮演算法的,就普通做就好了4 又因為是有序 的,故使用二分法最好了 別再太真愛用遍歷,傻子才會一上來就遍歷 12ms 5class solution 17return right 18 19 2021 void t035 24 cout...

LeetCode 35 搜尋插入位置

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

leetcode 35 搜尋插入位置

這種有序陣列當然要用二分查詢,但我在居然看到最優解居然是暴力解法,不知道到底是怎麼判的 這個是不標準版本二分查詢 class solutio...