首页 > 其他分享 >704. 二分查找

704. 二分查找

时间:2024-09-09 19:53:11浏览次数:9  
标签:二分 right target nums 704 mid 查找 left

题目链接 704. 二分查找
思路 二分法
题解链接 二分查找总是写不对?一个视频讲透!(Python/Java/C++/Go)
关键点 循环不变量(开区间):nums[left] < target && nums[right] >= target
时间复杂度 \(O(\log n)\)
空间复杂度 \(O(1)\)

代码实现:

class Solution:
    def search(self, nums: List[int], target: int) -> int:
        left, right = -1, len(nums)
        while left + 1 < right:
            mid = (left+right) // 2
            if nums[mid] < target:
                left = mid
            else:
                right = mid
        if right < len(nums) and nums[right] == target:
            return right
        return -1

标签:二分,right,target,nums,704,mid,查找,left
From: https://www.cnblogs.com/WrRan/p/18405185

相关文章

  • 【模板题】二分法 - 34. 在排序数组中查找元素的第一个和最后一个位置
    题目链接34.在排序数组中查找元素的第一个和最后一个位置思路二分法题解链接【视频讲解】二分查找总是写不对?三种写法,一个视频讲透!(Python/Java/C++/C/Go/JS)关键点模板题;应当熟练掌握时间复杂度\(O(\logn)\)空间复杂度\(O(1)\)代码实现:#闭区间d......
  • Binary Search 二分查找算法:逻辑的舞蹈,二分法的精准步伐
    BinarySearch二分查找算法:逻辑的舞蹈,二分法的精准步伐二分查找算法,也称为二分搜索算法(BinarySearch),是一种在有序数组中查找特定元素的高效算法。它通过反复将搜索区间减半来快速定位目标值。二分查找算法的效率远高于线性搜索,因为它每次比较都能排除掉一半的搜索空间。......
  • springboot“不借”校园物品租赁平台-计算机毕业设计源码97042
    随着微信小程序的普及和校园租赁市场的发展,基于微信小程序的校园物品租赁平台正逐渐成为热门话题。本文旨在研究如何利用微信小程序结合云开发技术,搭建一个便捷高效的校园物品租赁平台,以满足大学生在校园生活中对于各种物品的短期租赁需求。通过对相关背景知识和技术原理的......
  • SFI-HBase一种基于二分空间填充曲线的HBase多维索引(小论文)
    SFI-HBase:一种基于二分混合空间填充曲线的HBase多维索引摘要HBase是一款流行的开源分布式数据库,能够支持海量数据的实时读写。然而,HBase并没有提供对多维索引的支持。针对这一问题,本文从线性化方法入手,使用Z曲线等支持二分划分的空间填充曲线混合理论性质优良的其他空间......
  • 基于二分混合空间曲线的HBase多维索引构建及查询优化问题研究
    目录1绪论11.1研究背景与意义11.2国内外研究现状21.2.1索引技术21.2.2空间填充曲线51.3论文主要工作61.4论文章节安排72相关理论基础与技术简介82.1大数据存储与计算技术82.1.1Hadoop生态圈82.1.2HDFS82.1.3HBase92.1.4SparkStreami......
  • wqs 二分
    wqs二分可以优化一些dp,最常见的是”选一些物品,次数有限制,使总价值最大“,有以下限制:定义\(g(k)\)为恰好用\(k\)此操作能获得的最大收益,那么\(g(k)\)要满足上凸。如果不考虑限制,可以比较快地求出答案。前置股票买卖Ⅰ有\(n\)天,每天股票有一个价值\(a_i\),但是......
  • 4.二分查找
    classSolution{publicintsearch(int[]nums,inttarget){intleft=0,right=nums.length-1;returnres(nums,target,left,right);}intres(int[]nums,inttarget,intleft,intright){intmid=(left+right)/2;if(mi......
  • 20240911_170441 公共基础 线性表
    什么是线性表线性表的基本特征线性表的示例graphLR3-->1-->2-->4......
  • 第二周9.7周六学习总结——二分
    while(l<r){intmid=l+r>>1; //(l+r)/2if(check(mid))r=mid;//check()判断mid是否满足性质elsel=mid+1;} while(l<r){intmid=l+r+1>>1; //(l+r+1)/2,往右找答案要加1......
  • 信息学奥赛初赛天天练-85-NOIP2014普及组-基础题4-链表、随机存取、顺序存取、二分查
    信息学奥赛初赛天天练-85-NOIP2014普及组-基础题4-链表、随机存取、顺序存取、二分查找、二分比较、循环结构、图领奖PDF文档公众号回复关键字:202409071NOIP2014普及组基础题49下列选项中不属于图像格式的是()AJPEG格式BTXT格式CGIF格式DPNG格式1......