【Leetcode】153. Find Minimum in Rotated Sorted Array
来源:互联网 发布:软件测试管理系统 编辑:程序博客网 时间:2024/05/16 19:16
题目分析:
Suppose a sorted array is rotated at some pivot unknown to you beforehand.
(i.e., 0 1 2 4 5 6 7
might become 4 5 6 7 0 1 2
).
Find the minimum element.
You may assume no duplicate exists in the array.
一个经过旋转过后的有序数组,找出最小值。
(旋转方式见上,也就是把一个有序数组的两块交换一下位置,注意有可能交换的其中一块为空,也就是数组不变 )
1.最简单的遍历,不说了。时间复杂度O(n)
2.二分查找(因为在数组子块内部还是有序的,利用这点) 。时间复杂度O(log n)
代码:
public class Solution {
public int findMin(int[] nums) {
if(nums.length<=2){
if(nums.length ==1 || nums[0]<nums[1]){
return nums[0];
}else{
return nums[1];
}
}
int head = 0,tail = nums.length-1,mid = (head+tail)/2;
while(nums[mid-1]<nums[mid]){
if(nums[mid]<nums[tail]){
tail = mid;
}else{
head=mid;
}
if(tail-1 ==head){
return nums[tail]>nums[head]?nums[head]:nums[tail];
}
mid = (head+tail)/2;
}
return nums[mid];
}
}
贴上结果:
Ps:速度不快~以后有时间重刷再改进吧
- Leetcode 153. Find Minimum in Rotated Sorted Array & Leetcode 154. Find Minimum in Rotated Sorted Ar
- 153. Find Minimum in Rotated Sorted Array--Array--LeetCode--C++
- [LeetCode] Find Minimum in Rotated Sorted Array
- Leetcode: Find Minimum in Rotated Sorted Array
- leetcode :Find Minimum in Rotated Sorted Array
- LeetCode:Find Minimum in Rotated Sorted Array
- 【Leetcode】Find Minimum in Rotated Sorted Array
- LeetCode:Find Minimum in Rotated Sorted Array
- LeetCode: Find Minimum in Rotated Sorted Array
- leetcode: Find Minimum in Rotated Sorted Array
- [LeetCode] Find Minimum in Rotated Sorted Array
- Find Minimum in Rotated Sorted Array -- LeetCode
- Leetcode: Find Minimum in Rotated Sorted Array
- leetcode Find Minimum in Rotated Sorted Array
- leetcode - Find Minimum in Rotated Sorted Array
- LeetCode Find Minimum in Rotated Sorted Array
- Leetcode--Find Minimum in Rotated Sorted Array
- leetcode: Find Minimum in Rotated Sorted Array
- 属于RecyclerView的万能适配器Adapter和ViewHolder
- 内存频率与带宽
- matlab 函数句柄(function handle)
- HDU-2095 find your present (2)
- 权限问题
- 【Leetcode】153. Find Minimum in Rotated Sorted Array
- 是否可以在static环境中访问非static变量?
- 应用层alsa_lib和alsa_utils工具移植详解
- telnet两三事
- 数组
- Android-图片处理Picasso库的解析使用
- [web] Haproxy配置
- linux 的线程
- Uva - 116 - Unidirectional TSP(多段图的最短路,动态规划)