zoukankan      html  css  js  c++  java
  • 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 };
  • 相关阅读:
    线程
    链表
    String 练习
    23种设计模式
    静态方法
    ASCII码及UTF-8概义
    java语法基础
    二进制、八进制、十进制、十六进制之间转换
    数组概意
    java程序安装 配置环境变量
  • 原文地址:https://www.cnblogs.com/rookiez/p/13374210.html
Copyright © 2011-2022 走看看