704. 二分查找『简单』

题目来源于力扣(LeetCode

一、题目

704. 二分查找

题目相关标签:二分查找

提示:

  1. 你可以假设 nums 中的所有元素是不重复的。
  2. n 将在 [1, 10000]之间。
  3. nums 的每个元素都将在 [-9999, 9999]之间。

二、解题思路

  1. 二分查找的应用

三、代码实现

public static int search(int[] nums, int target) {
    int left = 0;
    int right = nums.length - 1;

    while (left <= right) {
        // 中间索引
        int mid = left + (right - left) / 2;

        if (nums[mid] == target) {
            return mid;
        } else if (nums[mid] > target) {
            right = mid - 1;
        } else {
            left = mid + 1;
        }
    }
    return -1;
}

四、执行用时

五、部分测试用例

public static void main(String[] args) {
    int[] nums = {-1, 0, 3, 5, 9, 12};
    int target = 9;  // output: 4

//    int[] nums = {-1, 0, 3, 5, 9, 12};
//    int target = 2;  // output: -1

    int result = search(nums, target);
    System.out.println(result);
}
posted @ 2020-07-07 20:32  知音12138  阅读(174)  评论(0编辑  收藏  举报