zoukankan      html  css  js  c++  java
  • [LintCode] 159 Find Minimum in Rotated Sorted Array

    Description
    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.

    Notice

    You may assume no duplicate exists in the array.


    Example
    Given [4, 5, 6, 7, 0, 1, 2] return 0

    4/24/2017

    算法班

    不需要跟特定值比较,while里面判断只有2个分支。

     1 public class Solution {
     2     /**
     3      * @param nums: a rotated sorted array
     4      * @return: the minimum number in the array
     5      */
     6     public int findMin(int[] nums) {
     7         // write your code here
     8         if (nums == null || nums.length == 0) return -1;
     9         int start = 0, end = nums.length - 1;
    10         
    11         while (start + 1 < end) {
    12             int mid = start + (end - start) / 2;
    13             if (nums[mid] < nums[end]) {
    14                 end = mid;
    15             } else {
    16                 start = mid;
    17             }
    18         }
    19         return nums[start] < nums[end]? nums[start]: nums[end];
    20     }
    21 }
  • 相关阅读:
    04_特征工程
    03_特征清洗
    02_数据探索
    01_简介
    cache是什么文件?
    gulp详细入门教程
    HTML5实战与剖析之触摸事件(touchstart、touchmove和touchend)
    h4和h5的区别
    弹性盒布局
    js面向对象
  • 原文地址:https://www.cnblogs.com/panini/p/6760750.html
Copyright © 2011-2022 走看看