旋转数组的最小数字
参与人数:1866时间限制:1秒空间限制:32768K通过比例:15.04%最佳记录:0 ms|8552K(来自 左小右)
题目描述
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减序列的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。
...
分类:
编程语言 时间:
2015-09-08 20:14:20
阅读次数:
227
题目来源:《剑指offer》面试题8 题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序d数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小为1. 分析:我们注意到旋转数组之后的数组实际...
分类:
编程语言 时间:
2015-09-04 15:41:36
阅读次数:
175
http://ac.jobdu.com/problem.php?pid=1386
WA了一发,因为没有考虑本身有序的情况。
貌似是cuhk曾经的面试题,当初准备CUHK面试的时候在别人博客看到过。
思路二分,朴素的想法我有,但是特殊情况没考虑好。
*mid与*first比,*mid与*end比,*mid>=*first,说明*mid现在在前面的有序部分。
*mid
对应修改first和...
分类:
编程语言 时间:
2015-08-29 15:27:44
阅读次数:
196
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1
这个题可以借助二分查找的思想:
二分查找的时间复杂度是:O(logn)
/**
*题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增...
分类:
编程语言 时间:
2015-08-27 15:17:51
阅读次数:
137
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。开始用i rotateArray) { 4 int n=rotateArr...
分类:
编程语言 时间:
2015-08-25 19:06:47
阅读次数:
168
题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。我们注意到旋转之后的数组实际上可以划分为两个排序的子数组,而且前面的子数组的元素都大...
分类:
编程语言 时间:
2015-08-21 01:43:43
阅读次数:
141
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。建议读者自己思考以后再看答案
废话不多说,看代码:public class MinNumberInRotateArray {
public static int minNumber...
分类:
编程语言 时间:
2015-08-09 22:36:52
阅读次数:
161
题目: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为旋转。 输入一个递增的排序的数组的一个旋转,输出旋转数组的最小元素。
例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小元素为1.
这道题最直观的解法并不难,从头到尾遍历一次,我们就能找到最小的元素。这种思路的时间复杂度为O(n)。但是这个思路没有利用输入的旋转数组的特性,肯定达不到面试官的要求。
我...
分类:
编程语言 时间:
2015-07-28 18:37:02
阅读次数:
131
题目链接地址:
http://ac.jobdu.com/problem.php?pid=1386题目1386:旋转数组的最小数字时间限制:1 秒内存限制:32 兆特殊判题:否提交:6914解决:1534
题目描述:
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}...
分类:
编程语言 时间:
2015-07-27 21:10:47
阅读次数:
137
题目描述:
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。
例如:数组{3, 4, 5, 1 , 2} 是 数组{1,2,3,4,5}的一个旋转,该数组最小的数是1.
我们要做的就是找到这个旋转后数组的最小数。
解题思路:
思路1:直接遍历数组,找到最小的数,简单粗暴,时间复杂度O(n),空间复杂度O(...
分类:
编程语言 时间:
2015-07-25 12:27:56
阅读次数:
131