LeetCode704 二分查找

Posted __rookie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode704 二分查找相关的知识,希望对你有一定的参考价值。

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

 

基础的二分查找,唯一需要注意的就是移位运算的优先级很低,需要加括号。

 1 class Solution {
 2 public:
 3     int search(vector<int>& nums, int target) {
 4         return recursive(nums,0,nums.size()-1,target);
 5     }
 6 
 7     int recursive(vector<int>& nums, int start, int end, int target){
 8         if(start>end)
 9             return -1;
10         int mid=start+((end-start)>>1);
11         if(nums[mid]==target)
12             return mid;
13         else if(nums[mid]>target)
14             return recursive(nums,start,mid-1,target);
15         else   
16             return recursive(nums,mid+1,end,target);
17     }
18 
19 };

 

以上是关于LeetCode704 二分查找的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode Algorithm 704. 二分查找

LeetCode第3天 - 704. 二分查找 | 35. 搜索插入位置

LeetCode.704 二分查找

LeetCode 704 二分查找[二分] HERODING的LeetCode之路

LeetCode 704. 二分查找

算法专题(01)二分查找(01) 简单LeetCode 704