zoukankan      html  css  js  c++  java
  • 剑指offer——旋转数字的最小值

    题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。

    解题思路:

    注意:这个题目和leetcode上的旋转数字的查找很类似。

    但不一样,一个是找最小,要判断中间这个数是否是在递增子数组里面,如果遇到都相等的情况就不好判断。

    // 当low和up两个指针相邻时候,就找到了最小值,也就是
     //右边序列的第一个值
     1 import java.util.ArrayList;
     2 public class Solution {
     3     public int minNumberInRotateArray(int [] array) {
     4         int low=0;
     5         int high=array.length-1;
     6         if(high==0||array==null)
     7         {
     8             return 0;
     9         }
    10         
    11         int mid=0;
    12         
    13         while(low<=high)
    14         {
    15             if(high-low==1)
    16             {
    17                 mid = high;
    18                 break;
    19             }
    20             mid = low+(high-low)/2;
    21             if(array[mid]>=array[high])
    22             {
    23                 low = mid;
    24             }
    25             else if(array[mid]<=array[high])
    26             {
    27                 high = mid;
    28             }
    29             else if(array[mid]==array[high] && array[mid] == array[low])
    30             {
    31                 int result = sort(array);
    32                 return result;
    33             }
    34         }
    35         return array[mid];
    36     }
    37     
    38     public int sort(int [] array){
    39         int result = array[0];
    40         for(int i=1;i<array.length;i++)
    41         {
    42             if(result<array[i])
    43             {
    44                 result = array[i];
    45             }
    46         }
    47         return result;
    48     }
    49 }
  • 相关阅读:
    使用 IntraWeb (15)
    使用 IntraWeb (10)
    使用 IntraWeb (8)
    Oralce问题之Oracle ORA-28001:某用户密码过期
    Oralce问题之ORA-12560:TNS协议适配器错误
    JS中数组初始化以及赋值
    EasyUI中取的DataGrid中选中行数据
    反编译DLL并修改DLL中的内容
    在SqlServer和Oralce中创建索引
    SQL中左连接on and条件和where条件执行先后顺序
  • 原文地址:https://www.cnblogs.com/wangyufeiaichiyu/p/10844684.html
Copyright © 2011-2022 走看看