题解 | #【模板】二分查找、堆#

【模板】堆

https://www.nowcoder.com/practice/13f61c8c92404f5ea5d6fa4c692869fb

二分查找

class Solution:
    # 二分查找, 必须是升序数组。
    def search(self , nums: List[int], target: int) -> int:
        # write code here
        l = 0
        r = len(nums) - 1
        # 从数组首尾开始, 直到两者相遇
        while l <= r:
            # 求中间值
            tgt_ind = l +int((r-l)/2)
            # 检查中间值是否等于目标值
            if nums[tgt_ind] == target:
                return tgt_ind
            # 中间值大于目标值, 表示在左区间
            if nums[tgt_ind] > target:
                r = tgt_ind - 1
            else: # 中间值小于于目标值, 表示在右区间
                l = tgt_ind + 1
        return -1

全部评论

相关推荐

01-12 20:31
东北大学 Java
点赞 评论 收藏
分享
2025-12-29 20:37
已编辑
清华大学附属小学 Java
开始打牌offer啦:1.为什么要写这么多内容呀 2.什么叫做简历 3.什么样的内容可以写到简历上 4.项目可以包装,但是要有理有据呀,不能乱包装呀,比如 跨境能达到日均120万订单的在国内都是能叫的上名字的,而且这些工作也基本上不太会交给一个实习生去做 建议友友可以去网上或者找同学的简历看看,他们的简历是怎么写的,去找找上面的那四个问题的答案吧,然后要记住的是Java是服务于业务的,而不是服务于微服务或者技术的
最后再改一次简历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务