Leetcode--33. 搜索旋转排序数组
发布日期:2021-04-30 21:04:31 浏览次数:91 分类:精选文章

本文共 1537 字,大约阅读时间需要 5 分钟。

?????????????????????????????????????????????-1???????????????????????O(log n)?

????

  • ????????????????????????????????????????????????
  • ???????????????????????????????????????????????????????????????
  • ?????????????????????????????????????????????????
  • ????

    class Solution {    public int search(int[] nums, int target) {        int low = 0, high = nums.length - 1;        // ????????        while (low < high) {            int mid = low + (high - low) / 2;            if (nums[mid] < nums[mid + 1]) {                low = mid + 1;            } else {                high = mid;            }        }        int pivot = low;        if (nums[pivot] == target) {            return pivot;        }        if (target < nums[pivot]) {            return -1;        } else {            if (pivot > 0 && target <= nums[pivot - 1]) {                return binarySearch(nums, 0, pivot - 1, target);            } else {                return binarySearch(nums, pivot, high, target);            }        }    }    private int binarySearch(int[] nums, int low, int high, int target) {        while (low <= high) {            int mid = low + (high - low) / 2;            if (nums[mid] == target) {                return mid;            } else if (nums[mid] < target) {                low = mid + 1;            } else {                high = mid - 1;            }        }        return -1;    }}

    ????

  • ??????????????????????????????
  • ???????????????????????????????????????????
  • ?????????????????????????????????O(log n)?
  • ????????????????????????????O(log n)?

    上一篇:请谈下Android消息机制,已整理成文档
    下一篇:在DialogFragment中显示大图片

    发表评论

    最新留言

    初次前来,多多关照!
    [***.217.46.12]2026年06月23日 11时40分08秒