标签:style io ar color os sp for on bs
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.
C
#include<stdio.h> int findMin(int num[],int n) { int i,j; if(num[0]<=num[n-1]) return num[0]; for(i=1;i<n-1;i++) { if(num[i]<num[i-1] && num[i]<num[i+1]) return num[i]; } return num[i]; } void main(){ int num[]={1}; printf("%d\n",findMin(num,1)); }
C++
class Solution { public: int findMin(vector<int> &num) { vector<int>::iterator it = num.begin(); if(*it<=*(num.end()-1)) return *it; it++; while(it != num.end()-1) { if(*it<*(it-1) && *it<*(it+1)) return *it; it++; } return *it; } };
Find Minimum in Rotated Sorted Array
标签:style io ar color os sp for on bs
原文地址:http://blog.csdn.net/uj_mosquito/article/details/41803539