博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
6.旋转数组的最小数字
阅读量:4623 次
发布时间:2019-06-09

本文共 790 字,大约阅读时间需要 2 分钟。

题目描述

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

题目解答

import java.util.ArrayList;public class Solution {    public int minNumberInRotateArray(int [] array) {        if(array==null || array.length==0){            return 0;        }        int low=0,high=array.length-1;        while(low
array[high]){ //[3,4,5,6,0,1,2],最小数字一定在mid右边 low=mid+1; }else if(array[mid]==array[high]){ // [1,0,1,1,1] 或者[1,1,1,0,1] ,最小数字不好判断在mid左边还是右边 high=high-1; }else{ //[2,2,3,4,5,6,6],最小数字一定在mid或者mid的左边 high=mid; } } return array[low]; }}

二分法

转载于:https://www.cnblogs.com/chanaichao/p/10120230.html

你可能感兴趣的文章
用户及文件权限管理
查看>>
基于netty轻量的高性能分布式RPC服务框架forest<上篇>
查看>>
客户端网页编程
查看>>
golang orm
查看>>
day70-springmvc day75-springmvc 2springmvc架构
查看>>
mouseleave与mouseout的区别
查看>>
spring aop记录用户的操作
查看>>
CDH安装时,部分节点不受管控
查看>>
CSS学习笔记——定位position属性的学习
查看>>
客户端day2
查看>>
线程的五大状态
查看>>
[HTML] 模板的用法
查看>>
打包和调试静态库(2)
查看>>
WebApi:路由和Action选择
查看>>
平时问题总结
查看>>
R函数-逻辑运算
查看>>
统计随机数及临界值Web Service接口
查看>>
统计单词个数
查看>>
【转】目标检测方法——R-FCN
查看>>
python之路
查看>>