当前位置:网站首页>二分查找1-实现一个二分查找
二分查找1-实现一个二分查找
2022-08-03 05:25:00 【花开花落夏】
实现二分查找
一 题目
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
来源:力扣(LeetCode)二 解题
二分查找是一个非常经典的算法,通常用于有序的数列。我们用三个指针来实现二分查找,使用left与right来划分区间,使用mid来标定一个值,mid=(left+right)/2.
当nums[mid]=target时,找到目标值的位置;
当nums[mid]<target时,目标值的可能区间在[mid,right]中;
当nums[mid]>target时,目标值的可能区间在[left,mid]中。
算法实现如下:
class Solution {
public int search(int[] nums, int target) {
int index = -1;
int left = 0, right = nums.length-1, mid;
while (left<=right){
mid = (left+right)/2;
if(nums[mid]==target){
index = mid;
break;
}else if(nums[mid]<target){
left = mid+1;
}else{
right = mid-1;
}
}
return index;
}
}
边栏推荐
- Dynamic adjustment subject web system?Look at this one is enough
- 队列方法接收串口的数据
- 动漫:海贼王女
- A.1#【内存管理】——1.1.1 node:struct pglist_data
- 浮点型数据在内存中存储的表示
- 自监督论文阅读笔记 DenseCL:Dense Contrastive Learning for Self-Supervised Visual Pre-Training
- 九、请介绍类加载过程,什么是双亲委派模型?
- 增强光学系统设计 | Zemax 全新 22.2 版本产品现已发布!
- VS2022 encapsulates static libraries and calls static libraries under window
- 深度学习理论课程第八、九、十章总结
猜你喜欢
常见的电容器有哪些?唯样商城
ZEMAX | 在 OpticStudio 中使用自由曲面进行设计
损失函数(第五周)
Windos 内网渗透之Token的使用
关于梯度下降法的一些优化方法
自监督论文阅读笔记 TASK-RELATED SELF-SUPERVISED LEARNING FOR REMOTE SENSING IMAGE CHANGE DETECTION
Makefile
MySql【后面附有练习题】
自监督论文阅读笔记 SimCLRV2 Big Self-Supervised Models are Strong Semi-Supervised Learners
003_旭日X3派初探:利用无线串口通信控制舵机
随机推荐
卷积神经网络入门
梯度下降、反向传播
自监督论文阅读笔记 Self-supervised Learning in Remote Sensing: A Review
IPC 通信 - IPC
servlet学习(七)ServletContext
常见的电子元器件分类介绍
常见的电子元器件分类介绍-唯样商城
全球一流医疗技术公司如何最大程度提高设计工作效率 | SOLIDWORKS 产品探索
ZEMAX | 在 OpticStudio 中使用自由曲面进行设计
芯片解密工作应该具备哪些条件?唯样商城
进程间通讯 (IPC 技术) - 信号
BurpSuite 进阶玩法
VSCODE 常见问题
在大程序中怎么样显示LED点阵
PCB设计经验之模拟电路和数字电路区别为何那么大
自监督论文阅读笔记 Self-Supervised Deep Learning for Vehicle Detection in High-Resolution Satellite Imagery
Dynamic adjustment of web theme (2) Extraction
二叉树常见的问题和解决思路
建立平衡二叉树简单demo
VCC(电源)和 GND(地)之间电容的作用