美文网首页
二分查找

二分查找

作者: watermountain | 来源:发表于2019-04-02 15:17 被阅读0次

    解:

    class Solution {

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

            if (nums == null || nums.length == 0) {

                return -1;

            }

            if (nums.length == 1) {

                return (nums[0] == target) ? 0:-1;

            }

            int low = 0;

            int high = nums.length - 1;

            while(low <= high) {

                int mid = (low + high) >> 1;

                if (nums[mid] == target) {

                    return mid;

                } else if (nums[mid] > target) {

                    high = mid - 1;

                } else {

                    low = mid + 1;

                }

            }

            return -1;

        }

    }

    /**

    * 测试用例 nums: [-1] ; target: 1

              [1, 3]; target 5;

    */

    相关文章

      网友评论

          本文标题:二分查找

          本文链接:https://www.haomeiwen.com/subject/szqwbqtx.html