704. Binary Search - Easy

Posted fatttcat

tags:

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

Given a sorted (in ascending order) integer array nums of n elements and a target value, write a function to search target in nums. If target exists, then return its index, otherwise return -1.


Example 1:

Input: nums = [-1,0,3,5,9,12], target = 9
Output: 4
Explanation: 9 exists in nums and its index is 4

Example 2:

Input: nums = [-1,0,3,5,9,12], target = 2
Output: -1
Explanation: 2 does not exist in nums so return -1

 

classical binary search

time: O(log(n)), space: O(1)

class Solution {
    public int search(int[] nums, int target) {
        if(nums == null || nums.length == 0) return -1;
        int l = 0, r = nums.length - 1;
        while(l <= r) {
            int m = l + (r - l) / 2;
            if(nums[m] == target)
                return m;
            else if(nums[m] > target)
                r = m - 1;
            else
                l = m + 1;
        }
        return -1;
    }
}

 


以上是关于704. Binary Search - Easy的主要内容,如果未能解决你的问题,请参考以下文章

704. Binary Search

704. Binary Search

704. Binary Search

704. Binary Search

LeetCode 704. Binary Search

[LeetCode&Python] Problem 704. Binary Search