二分查找题目汇总

2023-11-11

1 Search In Rotated Array

2 Search In Rotated Array ||

if(A[begin]==A[mid]  begin++; skip 就可以了

3  Search For a Range

 1)标准二分+ 左右扩展,最坏情况O(n)

 2) 分别求 lower_bound和 upper_bound, O(lgn)

4 Search Insertion Position

1)标准二分,最后没找到return -1的地方 改为return i。

2)lower_bound

5 求 Rotated sorted Array中最小值, (有重复值和无重复值)

6 把 Rotated sorted Array 恢复到原来的顺序

先解第5题,定位到最小值的index,然后 rotate.(三个reverse)

7 在排序数组中找和给定值最接近的

int findClosest(vector<int> A, int begin, int end, int target)
    {
        int minDiff = INT_MAX, minIndex = -1;
        while(begin<=end) {
            int mid = (begin+end)/2;
            if(abs(A[mid]-target)<minDiff){
                minDiff = abs(A[mid]-target);
                minIndex = mid;
            }
            if(A[mid]<target) begin = mid+1;
            else end = mid-1;
        }
        return minIndex;
    }


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

二分查找题目汇总 的相关文章

随机推荐

  • 5.时间序列分析

    一 定义 时间序列分析 Time Series Analysis 是指将原来的数据分解为四部分来看 长期趋势 secular trend T 季节趋势 seasonal variation S 循环变动 cyclical variation
  • 西门子博图指令(计数器操作)

    计数器操作 综述 加计数 介绍 程序 程序演示 减计数 介绍 程序 程序演示 加减计数 介绍 程序 程序演示 源程序 综述 主要介绍博图V15中计数器功能块指令的相关操作 仿真PLC为1200系列 1 加计数 介绍 接口参数 声明 数据类型
  • Qt对Excel表格的自动化调用汇总(新建、打开和保存)

    为便于实时采集并保存数据到excel 需要调用QAxObject 首先定义变量excel workbooks workbook worksheets worksheet range 等 ifndef EXCEL H define EXCEL
  • riscv 指令集与寄存器

    文章目录 指令集 寄存器分类 RV64 和 RV32 有什么不同总览 指令集分类 base optional 内嵌汇编 参考文章 指令集 RV32指令集 和 RV64指令集 并不是单独的 一类指令集的集合 而很多类指令集的集合 RV32指令
  • Oracle12c中空格引发的ORA-01516问题

    2019 年 1 月 29 日 zabbix 显示一个索引表空间告警 所以登录服务器查看 10 02 22 SQL gt col file name for a50 10 02 42 SQL gt select file id tables
  • Java BigInteger用法详解

    在用C或者C 处理大数时感觉非常麻烦 但是在Java中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类 至于两个类的对象能表示最大范围不清楚 理论上能够表示无线大的数 只要计算机内存足够大 这两个类都在java
  • springboot项目避免脏读影响修改数据的几种方法

    文章目录 1 通过sql层面进行行锁 2 通过cas原则 compareAndSwapInt 进行自旋 3 通过synchronized锁住查询跟修改语句 4 通过分布式锁redission 1 通过sql层面进行行锁 1 Update时
  • 引用计数法和可达性分析算法

    一 引用计数法 给对象中添加一个引用计数器 每当有一个地方引用它时 计数器值就加1 当引用失效时 计数器值就减1 任何时刻计数器为0的对象就是不能再被使用的 引用计数法实现简单 判定效率也很高 但是它很难解决对象之间相互循环引用的问题 如下
  • 谈谈我接触过的几个前端框架。

    1 justified gallery框架 jQuery justified gallery插件允许你在一个合理的空间内创建响应式 无限滚动 高品质的画廊 并填充满所有的空间 插件主要特性 无需在意像素 使用一种先进的算法无需剪裁图像进行自
  • 学位真的那么重要吗?上交大博士亲述科研心路,获4万高赞,网友:这是知乎最好的回答...

    点击 凹凸域 马上关注 更多内容 请置顶或星标 学位真的那么重要吗 上交大博士亲述科研心路 获4万高赞 网友 这是知乎最好的回答 十三 转载整理自 时间规划局 量子位 报道 都说读博就像一场赌博 一入红门深似海 从此半点不由人 还时不时曝出
  • JetBrains IntelliJ IDEA Ultimate 2017.2.5 官方旗舰版 windows/mac/Linux

    intellij idea是一款非常强大的java开发工具 软件内置智能代码助手 会对代码进行自动检测 可以大幅度减少程序员的工作量 而且还支持多线程调试 您所有创建的工程都会被记录下来 方便以后查询和使用 功能还有很多等你来体验 因其强大
  • android APK签名过程之CERT.RSA分析

    CERT RSA包含了公钥信息和发布机构信息 具体信息获取可以参考 手动给android APK签名 中第四部分的验证过程
  • 朋友创业2年,估值已达10亿,正招贤纳士,不错的机会

    公司主要成员是来自高通中国的IC创业团队 公司成立两年 估计已经达到10亿人民币 成长速度惊人 截止目前 公司全职员工约60人 预计2022年底公司将成长至100人规模 团队成员中80 以上有硕士或博士学历 其中核心研发人员分别来自清华 北
  • 如何绘制用例图 - How to Draw Use Case Diagram

    如何绘制用例图 use case diagram 用例图是一种UML图 它允许您建模系统功能 即目标 i e goal 以及与这些功能交互的参与者 actor 您可以在 Visual Paradigm 中绘制用例图 并使用事件编辑器 flo
  • Rocketmq 消息过滤简述

    Rocketmq消息过滤是指在消息消费时 消费者Consumer可以对某一主题下的消息按照某种过滤规则进行过滤 只消费自己感兴趣的消息 Rocketmq同时支持在Broker端和Consumer端做消息过滤 Broker端过滤 Broker
  • vscode 做php开发环境配置

    vscode 中安装插件 php server php debug php intellisense Code Runner Composer PHP DocBlocker 在https xdebug org download php 下载
  • Vue工程化开发及vue/cli脚手架

    1 安装 vue cli 安装 Vue CLI 1 安装nodejs https nodejs org en 验证 node v version 使用npm 2 安装vue cli npm install g vue cli 验证 vue
  • pom的dependencyManagement管理下的dependency依赖爆红

    问题描述 新创建maven项目后 在父工程中dependencyManagement时 会报红线错误 刷新后还是报红 例如 mysql version 爆红
  • Python-Unicode

    额 for i in range 10000 print chr i end if i 50 0 print Users star PycharmProjects qq2 venv bin python Users star Pycharm
  • 二分查找题目汇总

    1 Search In Rotated Array 2 Search In Rotated Array if A begin A mid begin skip 就可以了 3 Search For a Range 1 标准二分 左右扩展 最坏