1,问题简述
假设按照升序排序的数组在预先未知的某个点上进行了旋转。
( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。
请找出其中最小的元素。
你可以假设数组中不存在重复元素。
2,示例
示例 1:
输入: [3,4,5,1,2]
输出: 1
示例 2:
输入: [4,5,6,7,0,1,2]
输出: 0
3,题解思路
HashSet集合的使用
4,题解程序
import java.util.Arrays;
public class FindMinTest {
public static void main(String[] args) {
int [] nums={3,4,5,1,2};
int a = findMin(nums);
System.out.println("a = " + a);
}
public static int findMin(int[] nums) {
if (nums == null || nums.length == 0) {
return -1;
}
Arrays.sort(nums);
return nums[0];
}
}
5,题解程序图片版
6,总结
觉得还是使用直接排序来解决这个题吧,凑字数来了,曾经我会后悔自己有些事情没有去做,但是随着自己对自己的一通分析,觉得自己本身还是有一些优点的,后悔有用吗?就这样一步步问自己,经过读书的理解,自己慢慢明白了一个道理,人生走的每一步都算数。很久之前的文章就给与了自己这句话,急功近利,欲速则不达,找好自己的人生路,慢慢跑吧,这样自己的人生方向才有了自己独有的特点。