二分查找

算法入门第一题      二分查找

思路:在一个升序的list中,用中间数(mid)来进行匹配,如果target比中间数大,说明target在list右边,left=mid+1,如果target比中间数小,说明target在list左边,right=mid-1

复制代码
from typing import List


class Solution:
    def search(self, nums: List[int], target: int) -> int:
        # write code here

        if len(nums) == 0:
            return -1
        left = 0
        right = len(nums) - 1

        while left <= right:
            mid = int((left + right) / 2)

            if nums[mid] < target:
                left = mid + 1
            elif nums[mid] > target:
                right = mid - 1
            else:
                return mid
            # elif nums[mid] == target:
            #     return mid
        return -1


list1 = [9]
s = Solution()
print(s.search(list1, 2))
复制代码

 

posted @   TW-NLP  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示