leetcode_c++: Find Minimum in Rotated Sorted Array (153)
2016-06-11 23:28
609 查看
题目
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.
在一个旋转过的有序数组中找最小的数
算法
O(logn)class Solution { public: int findMin(vector<int>& nums) { int left=0,right=nums.size()-1; int mid; while(left<=right){ mid=left+(right-left)/2; if(nums[left]<=nums[mid] && nums[mid]<=nums[right]){ return nums[left]; }else if(nums[left]<=nums[mid]){ left=mid+1; }else{ right=mid; } } return nums[0]; } };
相关文章推荐
- 类型转换_C++中的int&
- 十分钟了解C++ Lambda表达式
- C++灵魂所在之---继承篇
- C++Primer 第4章笔记整理及运算符优先级表
- leetcode_c++: Maximum Product Subarray(152)
- C++ Virtual详解
- Count and Say
- c++动态绑定
- C++中的单例模式
- C++类的副本构造器之深复制(拷贝)与浅复制(拷贝)
- c++语言学习
- C/C++中进制的表示
- leetcode_c++: Longest Consecutive Sequence(128)
- L1-009. N个数求和
- 测试机器是否为 大端or小端
- 国际C混乱码大赛
- 《c陷阱与缺陷》1-3章笔记
- leetcode_c++:Word Ladder II(126)
- c语言学习笔记24之内存
- 【C++】Visual Studio 2012 MFC——Expression: _pFirstBlock==pHead解决办法