Re: [闲聊] 每日LeetCode

楼主: pandix (面包屌)   2023-04-02 00:37:38
704. Binary Search
给一个 sorted array 和 integer target,要你找出 target 在 array 中的 index
没有则回传 -1
Example 1:
Input: nums = [-1,0,3,5,9,12], target = 9
Output: 4
Example 2:
Input: nums = [-1,0,3,5,9,12], target = 2
Output: -1
思路:
1.最基本的二分搜,搜索的范围是 [l, r)
找他们的中心点 mid = (l+r)//2
如果 nums[mid] < target -> 往右半边搜,范围变成 [mid+1, r) 因为 mid 不用搜了
如果 nums[mid] > target -> 往左半边搜,范围变成 [l, mid)
如果 nums[mid] == target 就直接回传 index
class Solution:
def search(self, nums: List[int], target: int) -> int:
l, r = 0, len(nums)
while l < r:
mid = (l+r)//2
if nums[mid] == target:
return mid
elif nums[mid] > target:
r = mid
else:
l = mid+1
return -1
他妈每日那些粪题一个比一个水,周赛上去写了两分钟我不认识自己叫什么了直接
每日题老子上去一分钟一题,周赛上去比了两分钟我不知道自己是谁
真的他妈离谱,那场打完之后我他妈萎了半年

Links booklink

Contact Us: admin [ a t ] ucptt.com