Find Minimum in Rotated Sorted Array II
来源:互联网 发布:淘宝的店铺经营许可 编辑:程序博客网 时间:2024/05/02 04:49
与Find Minimum in Rotated Sorted Array类似,只是在num[0]==num[n-1]时需要注意,这时不能根据num[n-1]的值来将数列一分为二。需要首先从数列头开始扫描,直到找到不等于数列头的元素,这时就可以退化为Find Minimum in Rotated Sorted Array来解决
class Solution {public: int findSecondPartHead(int start,int end,int val,const vector<int>& num) { while(start<end) { int mid=start+(end-start)/2; if(num[mid]>val) { start=mid+1; } else { end=mid; } } return start; } int findMin(vector<int> &num) { int n=num.size(); if(n==0) { return -1; } if(n==1) { return num[0]; } if(num[0]<num[n-1]) { return num[0]; } else if(num[0]>num[n-1]) { int pos=findSecondPartHead(0,n,num[n-1],num); return num[pos]; } else { //hard part //first scan from the start, find the frist position that val is bigger than the start position val int i=1; while((i<n)&&(num[0]==num[i])) { i++; } if(i==n) { return num[0]; } else { int pos=findSecondPartHead(i,n,num[n-1],num); return num[pos]; } } }};
0 0
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Qt遍历文本搜索关键字
- 项目里的JAR包突然消失了
- 学习重要的几个QWidget和QFrame子类
- IOS 图片加载封装
- 静态成员和非静态成员的细节
- Find Minimum in Rotated Sorted Array II
- 通过ssh隧道访问mysql
- 我们平常所用的内存,你真的了解吗?
- Android SDK代理服务器解决国内不能更新下载问题
- iOS开发ARC内存管理技术要点(不错的文章)
- 大家如果看过后请留个言。。。。。。
- OpenWrt web interface security enhancement
- AIDL实现步骤
- getDimension与getDimensionPixelOffset与getDimensionPixelSize的区别