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

    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.

    You may assume no duplicate exists in the array.

    在一个反转了的排好序的数组中,找出最小的数

    可以直接寻找。

    public class Solution {
        public int findMin(int[] nums) {
            
            
            if( nums.length == 1)
                return nums[0];
            int result = nums[0];
            for( int i = 1 ; i<nums.length;i++)
                result = Math.min(nums[i],result);
    
            return result;
        }
    }

    二分查找。

    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( nums[left] == nums[mid] ){
                    first = Math.min(Math.min(first,nums[left]),nums[right]);
                    break;
                }
                else if( nums[left] < nums[mid] ){
                    left = mid;
                    mid = (left+right)/2;
                    first = Math.min(first,nums[left]);
                }else {
                    right = mid;
                    mid = (left+right)/2;
                    first = Math.min(first,nums[left]);
                }
    
            }
            return Math.min(first,nums[left]);
        }
    }
  • 相关阅读:
    printf()参数的处理
    const关键字作用
    static的作用
    程序调试的方法
    引用与指针的区别
    内存对齐
    Android UI开发详解之ActionBar
    Android ActionBar使用方法
    android的系统学习
    Activity 切换动画
  • 原文地址:https://www.cnblogs.com/xiaoba1203/p/6079466.html
Copyright © 2011-2022 走看看