704. 二分查找


704. 二分查找

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

class Solution {
    public int search(int[] nums, int target) {

        if(nums==null||nums.length==0){
            return -1;
        }
        int start=0;
        int end=nums.length-1;
        //int mid=end/2;
        while(start<=end)&#123;
            int mid=(start+end)/2;
            if(nums[mid]==target)&#123;
                return mid;
            &#125;
            if(nums[mid]>target)&#123;
                end=mid-1;
            &#125;
            if(nums[mid]<target)&#123;
                start=mid+1;
            &#125;
        &#125;
        return -1;
    &#125;
&#125;

复杂度:logN,1


文章作者:   future
版权声明:   本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 future !
 上一篇
53. 最大子序和 53. 最大子序和
53. 最大子序和难度简单 2926给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组
2021-02-27 future
下一篇 
509. 斐波那契数 509. 斐波那契数
509. 斐波那契数斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1) = 1F(n) = F(n - 1) + F(n
2021-02-27 future
  目录