0
点赞
收藏
分享

微信扫一扫

#704 Binary Search

金穗_ec4b 2022-05-04 阅读 50
java

Description

Given an array of integers nums which is sorted in ascending order, and an integer target, write a function to search target in nums. If target exists, then return its index. Otherwise, return -1.

You must write an algorithm with O(log n) runtime complexity.

Examples

Example 1:

Example 2:

Constraints:

思路

二分查找

代码

class Solution {
    public int _search(int[] nums, int start, int end, int target) {
        if (start > end)
            return -1;
        
        int mid = (start + end) / 2;
        if (nums[mid] == target)
            return mid;
        
        if (nums[mid] < target)
            return _search(nums, mid + 1, end, target);
        return _search(nums, start, mid - 1, target);
    }
    
    public int search(int[] nums, int target) {
        return _search(nums, 0, nums.length - 1, target);
    }
}
举报

相关推荐

0 条评论