力扣- 704. 二分查找

  1. 二分查找
    给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。

示例 1:

输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 9 出现在 nums 中并且下标为 4
示例 2:

输入: nums = [-1,0,3,5,9,12], target = 2 输出: -1 解释: 2 不存在 nums 中因此返回 -1

思路:
把目标值每次和中间值去比较(一开始left=0,right=nums.length-1),如果目标值大于中间值,那么left=mid+1,如果小于right=mid-1,每次将查找范围缩小一半,循环,直到找到,否则返回-1;

class Solution {public int search(int[] nums, int target) {int left=0;int right=nums.length-1;while(left<=right){int mid =(left+right)/2;if(nums[mid]==target){return mid;}else if(nums[mid]<target){left=mid+1;}else {right=mid-1;}}return -1;}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/740760.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python如何读取文件

这里的文件是txt文件&#xff0c;office文件不支持。 假如有一个pi_digits的txt文件&#xff0c;里面的内容是“3.1415926” 如果要读取这个文件的内容&#xff0c;需要调取pathlib模块&#xff0c;并把路径告知python。同时python文件必须要和目标读取文件在一个文件夹里。 …

springboot集成Quartz定时任务组件

文章目录 前言一、Quartz 是什么&#xff1f;下面是对 Java 中 Quartz 的主要概念的简单描述&#xff1a; 二、使用步骤总结 前言 平时开发中相信大家都经常用到定时任务吧&#xff0c;最近简单的就是直接使用Scheduled注解标注到方法上用注解的方式在项目运行时无法去对任务进…

【WEEK2】Learning Objectives and Summaries【SpringMVC】【English Version】

Learning Objectives: Getting Started with SpringMVC in Three Weeks - Week 2 Learning Content: Reference video tutorials【狂神说Java】SpringMVC最新教程IDEA版通俗易懂Using annotations to complete the MVC programControllerRestFul styleResult Jumping StyleDa…

剑指offer经典题目整理(四)

一、树的子结构 1.链接 树的子结构_牛客题霸_牛客网 (nowcoder.com) 2.描述 给两颗二叉树A B&#xff0c;判断B是不是A的子结构 3.思路 将问题拆解开来&#xff0c;首先是找到a树中子结构的位置&#xff0c;然后是判断是否相同&#xff0c;也就是说&#xff0c;我们需要去…

interFoam-UEqn.H/pEqn.H

压力方程 “pEqn.H” {volScalarField rAU("rAU", 1.0/UEqn.A()); // rAU:在速度方程的的最后一个解中&#xff0c;矩阵对角项系数的倒数surfaceScalarField rAUf("rAUf", fvc::interpolate(rAU)); //转换为表面标量场volVectorField HbyA(con…

36+程序员3站考研:国家线轻松拿捏

基本情况是&#xff1a;年龄较大&#xff0c;比36还大&#xff0c;本科是自考&#xff0c;十几年来一直从事编程相关工作。 第一年考数学太慌了&#xff0c;选择题全蒙的&#xff0c;结果填空题一道没算对&#xff0c;大题全不会&#xff0c;所以尽管总分280多但是数学没过国家…

java Lambda表达式如何支持静态方法引用

java Lambda表达式如何支持静态方法引用 在Java中&#xff0c;Lambda表达式支持静态方法引用&#xff0c;允许你直接使用静态方法作为Lambda表达式的实现。静态方法引用使用类名和方法名来引用静态方法。 下面是一个简单的示例&#xff0c;展示了如何在Lambda表达式中使用静态…

Chrome下载B站视频字幕的插件

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

Netty源码剖析——bind()绑定端口的分析-上(三十)

1.服务器就是在这个bind()里启动完成的 2.Bind()代码&#xff0c;追踪到创建了一个端口对象&#xff0c;并做了一些空判断&#xff0c;核心代码 doBind public ChannelFuture bind(SocketAddress localAddress){ validate(); if(localAddressnull){ throw new NullPointerExc…

软考高级:敏捷方法概念和例题

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;大厂高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

LED基础知识分享(一)

大家好&#xff0c;我是砖一。 今天给大家分享一下&#xff0c;LED的基础知识&#xff0c;有照明行业&#xff0c;或者对LED感兴趣的朋友&#xff0c;可以学习一下&#xff0c;希望对你有用~ 一&#xff0c;什么是LED (Light Emitting Diode)? 1&#xff0c;LED是一种发出某…

AssetBundle打包与加载

官方文档 参照视频 1.AssetBundle打包 1.1设置资源的命名和后缀 命名只支持小写 1.2创建Editor文件夹&#xff0c;在里面创建编辑器打包AssetBundle的脚本 using UnityEditor; using System.IO;public class CreateAssetBundles {[MenuItem("Assets/Build AssetBun…

【机器学习】样本、特征、标签:构建智能模型的三大基石

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;机器学习 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进…

【python】(9)迭代与生成器

1. 迭代的概念与原理 迭代是一种重要的编程模式,它允许我们按顺序访问容器中的每个元素,而不必事先知道容器的大小。在 Python 中,几乎所有的容器对象都可以进行迭代,包括列表、元组、字典、集合等。迭代的实现依赖于两个核心概念:可迭代对象(Iterable)和迭代器(Itera…

【dart】常用数据类型

Number num 可以声明是整数,也可以是浮点数int 只能声明整数double 只能声明浮点数 main() {int cont 6;// cont 6.3;double core 90;print(core); // 90.0num age 18;num sum 20.9; }常用api main() {int cont 6;// cont 6.3;double core 90;print(core); // 90.0n…

C++(3/12)

自己封装一个矩形类(Rect)&#xff0c;拥有私有属性:宽度(width)、高度(height)&#xff0c; 定义公有成员函数: 初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w) 更改高度的函数:set_h(int h) 输出该矩形的周长和 #include <iostream>using name…

C++ std::list的merge()使用与分析

看到《C标准库第2版》对list::merge()的相关介绍&#xff0c;令我有点迷糊&#xff0c;特意敲代码验了一下不同情况的调用结果。 《C标准库第2版》对list::merge()的相关介绍 list::merge()定义 merge()的作用就是将两个list合并在一起&#xff0c;函数有2个版本&#xff1a;…

蓝桥杯(3.12)

1064: 【模板】埃氏筛法 import java.util.Scanner;public class Main{static final int N 2000010;static boolean[] vis new boolean[N];public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();vis[0] true;vis[1] true;for…

深入浅出FISCO BCOS:区块链底层平台

苏泽 大家好 这里是苏泽 一个钟爱区块链技术的后端开发者 本篇专栏 ←持续记录本人自学两年走过无数弯路的智能合约学习笔记和经验总结 如果喜欢拜托三连支持~ 我前面有补充相关的区块链的知识 如果没有了解的话 可能部分概念或名词会不懂哦 建议先了解一波再来看~http://t.c…

算法-二分与差分-503.借教室

题目 思路 代码不超时&#xff1a;限制在10的8次方以内&#xff1b;线段树能处理的数据上限是10^5二分&#xff1a;具有二段性&#xff0c;第一个订单不满足&#xff0c;后面的订单也不用去考虑差分&#xff08;前缀和的逆运算&#xff09;&#xff1a;题目的要求是将一个区间…