在有序旋转数组中找到最小值

翻译 2018年04月16日 22:05:46

这里写图片描述

//在有序旋转数组中找到最小值
public class GetArrMin{

     //获得旋转数组中的最小值(利用二分查找的思想)
     public static int getMin(int[]arr)
     {
        int low=0;
        int high=arr.length-1;
        int mid=0;
        while(low<high)
        {
              if(low==high-1)
              {
                break;
              }
              if(arr[low]<arr[high])
              {
                 return arr[low];
              }
              mid=(low+high)/2;
              if(arr[low]>arr[mid])
              {
                 high=mid;
                 continue;
              }
              if(arr[mid]>arr[high])
              {
                low=mid;
                continue;
              }
              while(low<mid)
              {
                   if(arr[low]==arr[mid])
                   {
                     low++;
                   }
                   else if(arr[low]<arr[mid])
                   {
                      return arr[low];
                   }else{

                       high=mid;
                       break;
                   }

              }
        }
        return Math.min(arr[low],arr[high]);
     } 

     public static void main(String[]args)
     {

        //System.out.println("Hello");
        int[]test={4,4,5,1,2,3};
        System.out.println(getMin(test));

     }
}

这里写图片描述

Unity视角旋转/摄像机围绕人物旋转

Unity视角旋转/摄像机围绕人物旋转
  • 2016年12月16日 14:27

小米笔试题(查找旋转数组中的元素)

今天参加小米现场笔试,遇到一个关于查找旋转数组中的元素算法问题,在这里记录一下。...
  • a1181191837
  • a1181191837
  • 2015-10-08 23:25:55
  • 1890

旋转数组中的最小值

旋转数组: 把一个数组最开始的若干个元素搬到数组的末尾,我们称为数组的旋转 要求: 输入一个递增排序的数组的一个旋转,输出旋转数组的最小值. 思想: 从头到尾遍历数组一次,就能找...
  • u010187139
  • u010187139
  • 2015-07-15 21:12:00
  • 816

旋转有序数组中找最小值

O(n)的算法就不说了,这题主要考查的是 O(logn)的算法。 有序数组容易想到使用二分查找解决,这题就是在二分基础上做一些调整。数组只有一次翻转,可以知道原有序递增数组被分成两部分,这俩部分...
  • lihaitao000
  • lihaitao000
  • 2016-07-27 09:37:15
  • 649

剑指offer第六题【旋转数组的最小数字】c++实现

旋转数组的最小数字 参与人数:3258时间限制:1秒空间限制:32768K通过比例:14.10%最佳记录:0 ms|0K(来自  Wocao) 题目描述 把一个数组最开始的若...
  • u011692312
  • u011692312
  • 2015-10-14 11:30:19
  • 504

查找旋转数组的最小数字 JAVA实现

题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一...
  • u013276277
  • u013276277
  • 2017-05-22 09:20:34
  • 342

其他题目---在有序旋转数组中找到最小值

【题目】  有序数组arr可能经过一次旋转处理,也可能没有,且arr可能存在重复的数。例如,有序数组[1,2,3,4,5,6,7],可以旋转处理成[4,5,6,7,1,2,3]等。给定一个可能旋转过的...
  • qq_34342154
  • qq_34342154
  • 2017-10-30 22:43:47
  • 90

解题笔记(35)——旋转数组中的最小元素

问题描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5...
  • wuzhekai1985
  • wuzhekai1985
  • 2011-08-30 21:58:51
  • 11168

在有序旋转数组中找到一个数

/** * Created by lxw, liwei4939@126.com on 2017/11/5. * 在有序旋转数组中找到一个数 */ public class rotatedArra...
  • liwei1205
  • liwei1205
  • 2017-11-05 15:39:44
  • 32

二分查找——旋转数组的最小数字

题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个...
  • jingsuwen1
  • jingsuwen1
  • 2016-07-22 09:44:22
  • 327
收藏助手
不良信息举报
您举报文章:在有序旋转数组中找到最小值
举报原因:
原因补充:

(最多只允许输入30个字)