思路:遍历数组,如果后一个元素比前一个元素小,说明从此开始旋转,输出后一个元素。若遍历结束仍未找到,则说明旋转从index=0开始,输出队首元素。
Python:
class Solution:
def minArray(self, numbers: List[int]) -> int:
if not numbers:
return -1
for i in range(1,len(numbers)):
if numbers[i]<numbers[i-1]:
return numbers[i]
return numbers[0]
C++:
class Solution {
public:
int minArray(vector<int>& numbers) {
int len=numbers.size();
if(len==0){
return -1;
}
for(int i=1;i<len;i++){
if(numbers[i]<numbers[i-1]){
return numbers[i];
}
}
return numbers[0];
}
};
原创文章,作者:1402239773,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/245108.html