zoukankan      html  css  js  c++  java
  • leetcode 154. Find Minimum in Rotated Sorted Array II --------- java

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

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

    Suppose a sorted array is rotated at some pivot unknown to you beforehand.

    (i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).

    Find the minimum element.

    The array may contain duplicates.

    接着153题,在数组中有重复的数字。

    只需要判断一下当nums[left] == nums[mid] 即可。

    public class Solution {
        public int findMin(int[] nums) {
            
            if( nums.length == 1)
                return nums[0];
            int left = 0,right = nums.length-1;
            int mid = (left+right)/2;
            int first = nums[0];
    
            while( left < right ){
    
    
                if( left == right-1 ){
                    left++; 
                }
                else if( nums[mid] == nums[left]){
                    left++;
                }else if( nums[left] < nums[mid] ){
                    left = mid;
                }else{
                    right = mid;
                }
                mid = (left+right)/2;
                first = Math.min(first,nums[left]);
    
            }
            return Math.min(first,nums[left]);
        }
    }
  • 相关阅读:
    第 2 章 OpenStack 架构
    第 2 章 OpenStack 架构
    第 1 章 虚拟化
    第 1 章 虚拟化
    第 1 章 虚拟化
    第 1 章 虚拟化
    第 1 章 虚拟化
    第 1 章 虚拟化
    第 1 章 虚拟化
    第 1 章 虚拟化
  • 原文地址:https://www.cnblogs.com/xiaoba1203/p/6080567.html
Copyright © 2011-2022 走看看