leetcode解题方案--154--Find Minimum in Rotated Sorted Array II

来源:互联网 发布:淘宝售假扣分权重恢复 编辑:程序博客网 时间:2024/06/10 05:09

题目

Follow up for “Find Minimum in Rotated Sorted Array”:
What if duplicates are allowed?

Would this affect the run-time complexity? How and why?

分析

题目改成了可能会重复,经典测试例是【1,1,1,10,10】
所以要考虑相等的情况。如果遇到相等,就–

class Solution {    public static int findMin(int[] nums) {        int low = 0;        int high = nums.length-1;        if (nums[high] > nums[low]) {            return nums[low];        }        while (high - low >1) {            int mid = (high + low)/2;            if (nums[mid] < nums[high]) {                high = mid;            } else if (nums[mid] > nums[high]){                low = mid;            } else {                high--;            }        }        return nums[high];    }}
阅读全文
0 0
原创粉丝点击