当前位置: 首页 > news >正文

Java算法题——二分查找法

0 问题描述

   给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。(定义一个方法,判断某个元素在有序数组中的下角标

1 代码逻辑

/*** @param a  要查找的有序int数组* @param key  要查找的数值元素* @return  返回找到的元素下标;如果没有找到,返回-1*/
public int binarySearch(int[] a, int key){int low = 0;int high = a.length - 1;if ( key < a[low] || key > a[high] )return -1;while ( low <= high){int mid = ( low + high ) / 2;if( a[mid] < key)low = mid + 1;else if( a[mid] > key )high = mid - 1;elsereturn mid; }return -1;
}
2 小结

   二分查找是一种效率较高的查找方法,前提是数据结构必须先排好序,可以在对数时间复杂度内完成查找。

面试考察到了

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • MemFire Cloud是否真的可以取代后端
  • 【QT】基于UDP/TCP/串口 的Ymodom通讯协议客户端
  • Token 设计
  • SpringBoot响应式编程(2)WebFlux入门
  • 文心快码(Baidu Comate)快速创建数据可视化图表
  • CSS的:host伪类:精确定位于Web组件的指南
  • 00_remipi_软件评估记录
  • 计算机基础知识复习8.13
  • 基于 HTTP构建 YUM网络源
  • 使用ITextRenderer导出PDF后无法打开问题,提示‘无法打开此文件‘
  • JVM性能监控工具
  • 实现异形(拱形)轮播图
  • 高性能内存对象缓存
  • 数据中心存储市场迎强劲反弹
  • 网络如何发送一个数据包
  • Docker容器管理
  • Golang-长连接-状态推送
  • IP路由与转发
  • Js基础——数据类型之Null和Undefined
  • js正则,这点儿就够用了
  • PHP面试之三:MySQL数据库
  • vue2.0项目引入element-ui
  • Xmanager 远程桌面 CentOS 7
  • 关于List、List?、ListObject的区别
  • 开源地图数据可视化库——mapnik
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 前端之Sass/Scss实战笔记
  • 学习笔记TF060:图像语音结合,看图说话
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • Hibernate主键生成策略及选择
  • # Java NIO(一)FileChannel
  • # 职场生活之道:善于团结
  • ## 基础知识
  • (12)目标检测_SSD基于pytorch搭建代码
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (算法)N皇后问题
  • (转) 深度模型优化性能 调参
  • .Net 4.0并行库实用性演练
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • .NET中分布式服务
  • @ 代码随想录算法训练营第8周(C语言)|Day57(动态规划)
  • @converter 只能用mysql吗_python-MySQLConverter对象没有mysql-connector属性’...
  • @param注解什么意思_9000字,通俗易懂的讲解下Java注解
  • [ vulhub漏洞复现篇 ] Hadoop-yarn-RPC 未授权访问漏洞复现
  • [AIGC] Spring Interceptor 拦截器详解
  • [Android学习笔记]ScrollView的使用
  • [AS3]URLLoader+URLRequest+JPGEncoder实现BitmapData图片数据保存
  • [BZOJ3223]文艺平衡树
  • [CTF]php is_numeric绕过
  • [flask]http请求//获取请求头信息+客户端信息