当前位置:网站首页>二分查找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;
}
}
边栏推荐
猜你喜欢
设备树解析源码分析<devicetree>-1.基础结构
自监督论文阅读笔记 DetCo: Unsupervised Contrastive Learning for Object Detection
ZEMAX | 如何创建复杂的非序列物体
自监督论文阅读笔记SELF-SUPERVISED SPECTRAL MATCHING NETWORK FOR HYPERSPECTRAL TARGET DETECTION
自监督论文阅读笔记 Multi-motion and Appearance Self-Supervised Moving Object Detection
自监督论文阅读笔记 Self-Supervised Visual Representation Learning with Semantic Grouping
滚动条 scrollbar 和scrollbar-thumb 样式
三分钟看懂二极管的所有基础知识点
自监督论文阅读笔记 Self-Supervised Deep Learning for Vehicle Detection in High-Resolution Satellite Imagery
神经网络基础
随机推荐
深度学习理论课程第四、五章总结
自监督论文阅读笔记 Incremental-DETR:Incremental Few-Shot Object Detection via Self-Supervised Learning
ZEMAX | 如何使用渐晕系数
double型数据转字符串后通过MCU串口发送
Phase Vocoder的补充完善,Matlab音频变速不变调、变调不变速
ZEMAX | 如何围绕空间中的任何点旋转任何元素
卷积神经网络入门
自监督论文阅读笔记 DenseCL:Dense Contrastive Learning for Self-Supervised Visual Pre-Training
嵌入汇编-1 格式讲解
自监督论文阅读笔记 TASK-RELATED SELF-SUPERVISED LEARNING FOR REMOTE SENSING IMAGE CHANGE DETECTION
在大程序中怎么样显示LED点阵
设备树解析源码分析<devicetree>-1.基础结构
自监督论文阅读笔记 Self-Supervised Deep Learning for Vehicle Detection in High-Resolution Satellite Imagery
ZEMAX | 在OpticStudio中建立扩增实境(VR)头戴式显示器
A.1#【内存管理】——1.1.4 node: 初始化
VS2022 encapsulates static libraries and calls static libraries under window
六、对比Vector、ArrayList、LinkedList有何区别?(设计、性能、安全)
贴片电阻的结构是怎样的?唯样商城
西塞罗 论老年
自我监督学习和BERT模型