[Leetcode]Find Minimum in Rotated Sorted Array
来源:互联网 发布:拳皇97超强优化版 编辑:程序博客网 时间:2024/06/06 02:19
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.
找到最小的元素~和Search in Rotated Array类似,通过边界值和中间值的比较来确定哪半边是升序的,如果左半边是有序的,那么num[left]就是左半边最小的,可以和minVal相比取较小的,然后left = mid + 1; 否则,那么num[mid]是右半边最小的元素,和minVal相比取较小的,然后right = mid - 1;算法复杂度是O(logn)
class Solution: # @param num, a list of integer # @return an integer def findMin(self, num): if num is None or len(num) == 0: return None left, right = 0, len(num) - 1 minVal = num[0] while left <= right: mid = left + (right - left) / 2 if num[left] <= num[mid]: minVal = min(minVal, num[left]) left = mid + 1 else: minVal = min(minVal, num[mid]) right = mid - 1 return minVal
还有一种写法,代码如下~
class Solution: # @param num, a list of integer # @return an integer def findMin(self, num): if num is None or len(num) == 0: return None left, right = 0, len(num) - 1 while left < right: mid = left + (right - left) / 2 if num[right] < num[mid]: left = mid + 1 else: right = mid return num[left]
0 0
- [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
- [leetcode] Find Minimum in Rotated Sorted Array
- LeetCode:Find Minimum in Rotated Sorted Array
- FragmentActivity切换,部分页面可刷新,部分页面不可刷新
- Cocos2d-x内存管理研究<一>(转载特兹卡特的百度空间)
- [IOS 开发] Linq数组排序
- SQL---ISNULL()、CHARINDEX()
- isset和empty的区别
- [Leetcode]Find Minimum in Rotated Sorted Array
- activity属性设置大全
- 1038. Recover the Smallest Number (30)
- 在C++中使用C#编写的类
- Linux驱动中的platform
- 一个制作Xcode5插件的模板
- 图书目录
- 对TCP/IP协议的理解
- iOS 获取网络状态,区分2G3G4GWIFI等,非reachability