二分查找

简介: 二分查找

请实现无重复数字的升序数组的二分查找


给定一个 元素升序的、无重复数字的整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标(下标从 0 开始),否则返回 -1


数据范围:0 \le len(nums) \le 2\times10^50≤len(nums)≤2×105 , 数组中任意值满足 |val| \le 10^9∣val∣≤109


进阶:时间复杂度 O(\log n)O(logn) ,空间复杂度 O(1)O(1)


注意while中的边界条件,核mid取值。

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param nums int整型一维数组 
 * @param numsLen int nums数组长度
 * @param target int整型 
 * @return int整型
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
int search(int* nums, int numsLen, int target ) {
    // write code here
    int left=0, right=numsLen-1; 
    int middle = 0;
    while(right >= left)
    {
        middle=(left+right)/2;
        if(nums[middle] == target) {
            return middle;
        }
        else if(nums[middle] < target) {
            left = middle+1;
        }
        else if(nums[middle > target]){
            right = middle-1;
        }
    }
    return -1;
}


/

目录
相关文章
|
数据采集 Shell Linux
【Shell 命令集合 文档编辑】Linux 字符转换或删除 tr 命令使用指南
【Shell 命令集合 文档编辑】Linux 字符转换或删除 tr 命令使用指南
642 0
|
5月前
|
机器学习/深度学习 自然语言处理 安全
2026年语音机器人技术架构解析与企业选型指南
随着AI技术发展,语音机器人已广泛应用于政务、医疗、企业服务等领域。本文从技术架构、核心指标、场景适配等维度,系统解析语音机器人选型关键,助力企业科学决策,推动智能化升级。
|
5月前
|
安全 网络安全 API
伪装成税务文件的“银狐”:中国背景APT组织首次用印度所得税诱饵发动精准网络间谍战
“银狐”APT组织伪装税务邮件,利用双扩展名诱骗点击,植入木马窃取敏感数据。其攻击高度定制化,采用LOLBins、进程镂空等技术绕过传统防护,凸显企业需加强EDR、零信任与员工安全意识的紧迫性。
456 0
|
12月前
|
监控 负载均衡 安全
CC攻击来袭?手把手教你打造云服务器防护盾
在网络攻击频发的今天,CC攻击如同数字世界的“洪水猛兽”,能迅速压垮云服务器。作为站长,了解CC攻击原理并掌握防御策略至关重要。本文从认识CC攻击出发,详细介绍了七大防护措施:CDN加速、智能防火墙、连接数限制、验证码机制、WAF防护、负载均衡及监控告警系统。同时提供进阶防护方案,如高防IP和应急响应计划。
413 3
|
弹性计算 人工智能 安全
对话 | ECS如何构筑企业上云的第一道安全防线
随着中小企业加速上云,数据泄露、网络攻击等安全威胁日益严重。阿里云推出深度访谈栏目,汇聚产品技术专家,探讨云上安全问题及应对策略。首期节目聚焦ECS安全性,提出三道防线:数据安全、网络安全和身份认证与权限管理,确保用户在云端的数据主权和业务稳定。此外,阿里云还推出了“ECS 99套餐”,以高性价比提供全面的安全保障,帮助中小企业安全上云。
202492 16
对话 | ECS如何构筑企业上云的第一道安全防线
|
弹性计算 JSON 运维
刚好够用的授权:如何在云上实施最小权限原则
本章探讨如何在云上实施最小权限原则,确保企业安全与效率的平衡。通过阿里云RAM管理身份和权限,帮助企业识别和解决过度授权、闲置账户及高危权限问题。主要内容包括:最小权限原则的概述与挑战;云上最小权限的最佳实践路径,如初始规划、业务支撑及权限收敛;使用AccessAnalyzer识别过度授权和外部访问风险。通过这些工具和服务,企业可以有效提升安全性,减少潜在威胁。
|
供应链 安全 搜索推荐
关于电商项目面试遇到的问题
关于电商项目面试遇到的问题
|
前端开发 JavaScript 开发工具
2024年前端开发的十大必备技巧
本文概述了2024年前端开发的十大关键技能,包括现代JavaScript、CSS Grid/Flexbox布局、主流框架精通、Web性能优化、Git版本控制、调试技巧、Web可访问性、现代构建工具使用、PWA开发及持续学习,旨在助力开发者提升Web开发质量和用户体验。
|
编解码 自然语言处理 数据挖掘
Nomic Embed:能够复现的SOTA开源嵌入模型
Nomic-embed-text是2月份刚发布的,并且是一个完全开源的英文文本嵌入模型,上下文长度为8192。它在处理短文和长文本任务方面都超越了现有的模型,如OpenAI的Ada-002和text-embedding-3-small。该模型有137M个参数在现在可以算是非常小的模型了。
1433 1
|
编解码 移动开发 前端开发
web canvas系列——快速入门上手绘制二维空间点、线、面
web canvas系列——快速入门上手绘制二维空间点、线、面
681 4