LeetCode刷題記錄 第704題(二分查詢)

2021-09-11 10:32:57 字數 900 閱讀 6345

給定乙個 n 個元素有序的(公升序)整型陣列 nums 和乙個目標值 target ,寫乙個函式搜尋 nums 中的 target,如果目標值存在返回下標,否則返回 -1。

示例 1:

輸入: nums = [-1,0,3,5,9,12], target = 9

輸出: 4

解釋: 9 出現在 nums 中並且下標為 4

示例 2:

輸入: nums = [-1,0,3,5,9,12], target = 2

輸出: -1

解釋: 2 不存在 nums 中因此返回 -1

class

solution

(object):

defsearch

(self, nums, target)

:"""

:type nums: list[int]

:type target: int

:rtype: int

"""left =

0 right =

len(nums)-1

while left <= right:

mid =

(left + right)//2

if nums[mid]

== target:

return mid

elif nums[mid]

< target:

left = mid +

1else

: right = mid -

1return

-1

leetcode刷題記錄

我覺得每天來兩道,練習練習,再看看人家是怎麼優化的。1.給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。c 暴力求解,204ms,9.1m class solution for index,num in enumerate ...

LeetCode刷題記錄

動態規劃和貪心演算法的異同點 class solution throw newruntimeexception 時間複雜度 o n 2 對於每個元素,我們試圖通過遍歷陣列的其餘部分來尋找它所對應的目標元素,這將耗費 o n o n 的時間。因此時間複雜度為 o n 2 需要一種方法,尋找符合要求的元...

leetcode刷題記錄

工作之餘刷刷題排解下寂寞 1 面試題66.構建乘積陣列 解題思路 題目要求可以簡化為求陣列中任意乙個元素左右兩邊所有元素的乘積。偷懶就用了乙個套路,練習了p c c python class solution def constructarr self,a list int list int 除法是...