【Leetcode】704. Binary Search

news/2024/7/6 1:50:01

题目地址:

https://leetcode.com/problems/binary-search/
给定一个长 n n n的升序数组 A A A,返回某个给定数 t t t的下标,如果不存在则返回 − 1 -1 1

二分。代码如下:

class Solution {
 public:
  int search(vector<int>& a, int t) {
    int l = 0, r = a.size() - 1;
    while (l < r) {
      int mid = l + (r - l >> 1);
      if (a[mid] >= t) r = mid;
      else l = mid + 1;
    }

    return a[l] == t ? l : -1;
  }
};

时间复杂度 O ( log ⁡ n ) O(\log n) O(logn),空间 O ( 1 ) O(1) O(1)


http://www.niftyadmin.cn/n/3647489.html

相关文章

Spring是怎样巧用三级缓存解决循环依赖的?灵魂拷问

前言 目前绝大部分的Java程序员都是处于增删改查的阶段&#xff0c;但是到了这个阶段后就应该考虑下一个层次的突破了&#xff0c;总不能做一辈子的crud吧… **以目前IT行业的发展趋势以及就业情况来看&#xff0c;**市场早已经不缺初级开发了&#xff0c;对于中高级开发人才…

【Leetcode】74. Search a 2D Matrix

题目地址&#xff1a; https://leetcode.com/problems/search-a-2d-matrix/ 给定一个mnm\times nmn的矩阵AAA&#xff0c;每行单调上升&#xff0c;并且每行的末项都小于下一行的首项。另给定一个数&#xff0c;问这个数是否在矩阵里。 思路是二分法&#xff0c;可以将整个矩…

StringBoot编程式事务与声明式事务,给大家安排上!

一、前言 长文警告&#xff0c;事实上我不愿意写太长的文章&#xff0c;一面是太冗余&#xff0c;一方面读者容易疲倦&#xff0c;但是只要是涉及到源码级别的&#xff0c;就肯定篇幅不短&#xff0c;因为太短肯定没意义也解释不清楚&#xff0c;但是相信&#xff0c;耐心看完这…

窗口淡入淡出效果的实现

1. 简介函数: SetLayeredWindowAttributes HeaderDeclared in Winuser.h, include Windows.hImport libraryUser32.libMinimum operating systemsWindows 2000所以在98系统下&#xff0c;并不支持2. 属性现在我们直接通过DLL来调用,所以未包含头文件,可以直接使用值来操作.以下…

“金三银四”春招指南!靠着这份面试题跟答案,就是这么简单

前言 为什么要读Spring源码&#xff0c;有的人为了学习Spring中的先进思想&#xff0c;也有的人是为了更好的理解设计模式&#xff0c;当然也有很大一部分小伙伴是为了应付面试&#xff0c;Spring Bean的生命周期啦&#xff0c;Spring AOP的原理啦&#xff0c;Spring IoC的原理…

进程调试--数组溢出,影响其他变量

一直做的棋牌系统,调试是个问题,因为要启动的是另一个进程.所以一直多是以输出文件的方式来进行的.确实有些BUG输出文件的方式并不能解决和找到问题.我先来描述一下碰到的问题: 其中一个int m_nSize变量一般只有两个值(0或者1),在运行过程过突然变成-1,所以造成图片数组导入异…

【一步教学,一步到位】三分钟搞定分布式结构服务部署发布,实战案例

开头 消息队列 RocketMQ 是阿里巴巴集团基于高可用分布式集群技术&#xff0c;自主研发的云正式商用的专业消息中间件&#xff0c;既可为分布式应用系统提供异步解耦和削峰填谷的能力&#xff0c;同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性&#xff0c;…

tensorboard命令行使用方法

第一步&#xff1a;进入虚拟环境 conda activate 虚拟环境名称 第二步&#xff1a; tensorboard --logdir绝对地址 第三步&#xff1a;在浏览器输入提供的网址