1.1-数组-704. 二分查找★
704. 二分查找 ★
力扣题目链接,给定一个 n
个元素有序的(升序)整型数组 nums
和一个目标值 target
,搜索 nums
中的 target
,如果存在返回下标,否则返回 -1
。n
将在 [1, 10000]
之间。
- 可以假设
nums
中的所有元素是不重复的。 n
将在[1, 10000]
之间。nums
的每个元素都将在[-9999, 9999]
之间。
示例 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
本地练习
pub struct Solution;use std::cmp::Ordering;impl Solution {pub fn search(nums: Vec<i32>, target: i32) -> i32 {}
}fn main() {let res = [(vec![-1, 0, 3, 5, 9, 12], 9), (vec![-1, 0, 3, 5, 9, 12], 2)].iter().map(|x| Solution::search(x.0.to_vec(), x.1)).collect::<Vec<_>>();println!("{:?}: {:?}", vec![4, -1] == res, res);
}
Rust答案
- (版本一)左闭右开区间
use std::cmp::Ordering;
impl Solution {pub fn search(nums: Vec<i32>, target: i32) -> i32 {let (mut left, mut right) = (0, nums.len());while left < right {let mid = (left + right) / 2;match nums[mid].cmp(&target) {Ordering::Less => left = mid + 1,Ordering::Greater => right = mid,Ordering::Equal => return mid as i32,}}-1}
}
- (版本二)左闭右闭区间
use std::cmp::Ordering;
impl Solution {pub fn search(nums: Vec<i32>, target: i32) -> i32 {let (mut left, mut right) = (0, nums.len());while left <= right {let mid = (right + left) / 2;match nums[mid].cmp(&target) {Ordering::Less => left = mid + 1,Ordering::Greater => right = mid - 1,Ordering::Equal => return mid as i32,}}-1}
}
相关文章:
1.1-数组-704. 二分查找★
704. 二分查找 ★ 力扣题目链接,给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,搜索 nums 中的 target,如果存在返回下标,否则返回 -1。n 将在 [1, 10000]之间。 可以假设 nums 中的所…...

人物百度百科怎么做?需要什么资料?
在互联网时代,百度百科作为国内最具权威性的知识分享平台,吸引了大量用户关注和参与。究竟哪些人适合创建和编辑人物百度百科呢?本文伯乐网络传媒将为您揭秘人物百度百科的适用人群,并详细介绍如何注册、登录、创建及维护人物百度…...

在基于Android相机预览的CV应用程序中使用 OpenCL
查看:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV4.9.0在Android 开发简介 下一篇:在 MacOS 中安装 本指南旨在帮助您在基于 Android 相机预览的 CV 应用程序中使用 OpenCL ™。教程是为 Android Studio 20…...

网络分类简述与数据链路层协议(PPP)
实验拓扑 实验要求 1、R1和R2使用PPP链路直连,R2和R3把2条PPP链路捆绑为PPP MP直连按照图示配置IP地址 2、R2对R1的PPP进行单向chap验证 3、R2和R3的PPP进行双向chap验证 实验思路 给R1、R2的S3/0/0接口配置IP地址,已给出网段192.168.1.0/24R2作为主…...

Linux文件系列:磁盘,文件系统,软硬链接
Linux文件系列:磁盘,文件系统,软硬链接 一.磁盘相关知识1.磁盘机械构成2.磁盘物理存储3.磁盘逻辑存储1.LBA地址2.磁盘的分区和分组 二.文件系统和inode1.inode结构体2.文件系统1.Super Block(超级块)2.Group Descriptor Table(块组描述表GDT)3.inode Table4.Data Blocks5.Block…...

GPT4.0
GPT4.0 支持官网所有功能以及所有第三方GPTS,完全同步官网。无需魔法,填写授权码直达官网。全天超18小时维护,无需担心不稳定。没有永久卡,3.5免费提供,4.0可以按需下单即可,不存在跑路。 需要的联系...

软件工程(双语)
教材《软件工程 实践者的研究方法》 双语教学,但目前感觉都是在讲没用的 ”过程决定质量,复用决定效率” 介绍 软工的本质 程序数据结构算法 软件程序文档(需求、模型、说明书) 软件应用: 系统软件 应用 工程/科学…...

网络——套接字编程UDP
目录 端口号 源端口号和目的端口号 认识TCP协议和UDP协议 网络字节序 socket编程接口 socket常见接口 sockaddr结构 UDP socket bind recvfrom sendto 编写客户端 绑定INADDR_ANY 实现聊天功能 端口号 在这之前我们已经说过源IP地址和目的IP地址,还有…...
FPGA_AD9361
1.集成12位DAC和ADC的一款器件,2个输入模拟通道和2个输出模拟通道 2.• TX频段:47 MHz至6.0 GHz • RX频段:70 MHz至6.0 GHz 3.SPI配置成LVDS或CMOS接口,也可以还可以选择FDD(频分双工——全双工,操作时需…...

探讨Java代码混淆加固工具
摘要 本篇博客将介绍几种常用的Java代码混淆工具,如ProGuard、Allatori Java Obfuscator、VirboxProtector、ipaguard和DashO。我们将深入探讨它们的特点、功能以及在保护Java应用程序安全方面的作用。此外,还将强调在使用Java代码混淆工具时需要注意的安…...

Linux——du, df命令查看磁盘空间使用情况
一、实现原理: df 命令的全称是Disk Free ,显而易见它是统计磁盘中空闲的空间,也即空闲的磁盘块数。它是通过文件系统磁盘块分配图进行计算出的。 du 命令的全称是 Disk Used ,统计磁盘有已经使用的空间。它是直接统计各文件各目…...

数据库实验(一)SQL Server触发器
目录 触发器的定义 触发器和存储过程的区别 触发器的优点 触发器的作用 触发器的分类 DML触发器 DDL触发器 登录触发器 触发器的工作原理 inserted表 deleted表 创建触发器 编程要求 测试要求: 实验代码: 触发器的定义 触发器是建立在触…...
添加网址到主页
基于localStorage的网址收藏夹-CSDN博客 为了通过安卓菜单添加网址到主页中,调试了几个小时,主要踩了几个坑。 1.localStorage 通过域名隔离,需要加载主页才能读写。 2.WebView 可以不显示,但是 JS 代码要放在 window.onload 中…...
消息中间件如何实现高可用
消息中间件实现高可用的方式有很多种,常见的方法包括: 集群部署:通过在多台服务器上部署消息中间件实例,构成一个集群,提高整体系统的可用性。当一台机器出现故障时,其他机器可以继续提供服务。主从复制&a…...

Hbase 王者荣耀数据表 HBase常用Shell命令
大数据课本: HBase常用Shell命令 在使用具体的Shell命令操作HBase数据之前,需要首先启动Hadoop,然后再启动HBase,并且启动HBase Shell,进入Shell命令提示符状态,具体命令如下: $ cd /usr/local…...

家用智能洗地机哪个牌子好?4款型号让你解锁高效省力生活体验
在今天的社会中,随着生活节奏的加快,人们对于家庭清洁的需求不断增加。传统的清洁方法已经无法满足现代家庭的需求。因此,洗地机作为一种高效、方便的清洁工具,已经成为了许多家庭首选的清洁设备。然而,在市场上&#…...

Linux--进程(1)
目录 前言 1.冯诺依曼体系结构 2. 操作系统(Operator System)--第一个被加载的软件 3.进程 3.1基本概念 3.2Linux中的PCB 3.3通过系统调用创建子进程-fork初识 fork:创建一个子进程 为什么要创建子进程? fork的原理: 进一步了解fo…...

Qt登录页面
#include "mywidget.h" #include "ui_mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent), ui(new Ui::MyWidget) {ui->setupUi(this);//接收动图QMovie *mv new QMovie(":/pictrue/luori.gif");ui->loglab->setMovie(…...

软件工程-第8章 软件测试
8.1 软件测试目标域软件测试过程模型 8.2 软件测试技术 8.3 静态分析技术-程序正确性证明 8.4 软件测试步骤 8.5 本章小结...

专业135+总分400+重庆邮电大学801信号与系统考研经验重邮电子信息与通信工程,真题,大纲,参考书。
今年分数出来还是比较满意,专业801信号与系统135,总分400,没想到自己也可以考出400以上的分数,一年的努力付出都是值得的,总结一下自己的复习心得,希望对大家复习有所帮助。专业课:(…...

【免费数据】2005-2019年我国272个地级市的旅游竞争力多指标数据(33个指标)
旅游业是一个城市的重要产业构成。旅游竞争力是一个城市竞争力的重要构成部分。一个城市的旅游竞争力反映了其在旅游市场竞争中的比较优势。 今日我们分享的是2005-2019年我国272个地级市的旅游竞争力多指标数据!该数据集源自2025年4月发表于《地理学报》的论文成果…...
node.js的初步学习
那什么是node.js呢? 和JavaScript又是什么关系呢? node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说, 需要在node.js的环境上进行当JavaScript作为前端开发语言来说,需要在浏览器的环境上进行 Node.js 可…...

【若依】框架项目部署笔记
参考【SpringBoot】【Vue】项目部署_no main manifest attribute, in springboot-0.0.1-sn-CSDN博客 多一个redis安装 准备工作: 压缩包下载:http://download.redis.io/releases 1. 上传压缩包,并进入压缩包所在目录,解压到目标…...

CTF show 数学不及格
拿到题目先查一下壳,看一下信息 发现是一个ELF文件,64位的 用IDA Pro 64 打开这个文件 然后点击F5进行伪代码转换 可以看到有五个if判断,第一个argc ! 5这个判断并没有起太大作用,主要是下面四个if判断 根据题目…...
算法250609 高精度
加法 #include<stdio.h> #include<iostream> #include<string.h> #include<math.h> #include<algorithm> using namespace std; char input1[205]; char input2[205]; int main(){while(scanf("%s%s",input1,input2)!EOF){int a[205]…...

Linux入门(十五)安装java安装tomcat安装dotnet安装mysql
安装java yum install java-17-openjdk-devel查找安装地址 update-alternatives --config java设置环境变量 vi /etc/profile #在文档后面追加 JAVA_HOME"通过查找安装地址命令显示的路径" #注意一定要加$PATH不然路径就只剩下新加的路径了,系统很多命…...

react-pdf(pdfjs-dist)如何兼容老浏览器(chrome 49)
之前都是使用react-pdf来渲染pdf文件,这次有个需求是要兼容xp环境,xp上chrome最高支持到49,虽然说iframe或者embed都可以实现预览pdf,但为了后续的定制化需求,还是需要使用js库来渲染。 chrome 49测试环境 能用的测试…...

本地部署drawDB结合内网穿透技术实现数据库远程管控方案
文章目录 前言1. Windows本地部署DrawDB2. 安装Cpolar内网穿透3. 实现公网访问DrawDB4. 固定DrawDB公网地址 前言 在数字化浪潮席卷全球的背景下,数据治理能力正日益成为构建现代企业核心竞争力的关键因素。无论是全球500强企业的数据中枢系统,还是初创…...
Java严格模式withResolverStyle解析日期错误及解决方案
在Java中使用DateTimeFormatter并启用严格模式(ResolverStyle.STRICT)时,解析日期字符串"2025-06-01"报错的根本原因是:模式字符串中的年份格式yyyy被解释为YearOfEra(纪元年份),而非…...
matlab模糊控制实现路径规划
路径规划是机器人和自动驾驶系统中的重要问题之一,它涉及确定如何在给定环境中找到最优路径以达到特定目标。模糊控制是一种有效的控制方法,可以应用于路径规划问题。 路径规划算法的目标是在避免障碍物的情况下,找到机器人或车辆从起点到终…...