欢迎光临散文网 会员登陆 & 注册

牛客网高频算法题系列-BM17-二分查找-I

2022-10-08 20:32 作者:雄狮虎豹  | 我要投稿

牛客网高频算法题系列-BM17-二分查找-I

题目描述

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

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

原题目见:BM17 二分查找-I(https://www.nowcoder.com/practice/d3df40bd23594118b57554129cadf47b?tpId=295&tqId=1499549&ru=%2Fpractice%2F71cef9f8b5564579bf7ed93fbe0b2024&qru=%2Fta%2Fformat-top101%2Fquestion-ranking&sourceUrl=%2Fexam%2Foj)

解法一:二分查找法

首先,考虑特殊情况,判断如果数组为空,返回-1。

否则,使用low和high分别为数组的上下限,然后使用二分法判断数组中的元素,判断过程如下:

  • 首先,循环终止的条件是low大于high

  • 二分,mid取中间值

  • 如果mid所在的值等于target,则返回mid

  • 如果mid所在的值大于target,则更新high

  • 如果mid所在的值小于target,则返回low

最后,如果二分查找没找到等于target的值,返回-1。

代码

1.01^{365} ≈ 37.7834343329   

0.99^{365} ≈ 0.02551796445   

相信坚持的力量!


牛客网高频算法题系列-BM17-二分查找-I的评论 (共 条)

分享到微博请遵守国家法律