C/C++/Python描述 LeetCode 剑指 Offer 11. 旋转数组的最小数字
大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客,唯一博客更新的地址为:亓官劼的博客
本文原创为亓官劼,请大家支持原创,部分平台一直在恶意盗取博主的文章!!!
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2]
为 [1,2,3,4,5]
的一个旋转,该数组的最小值为1。
示例 1:
输入:[3,4,5,1,2]
输出:1
示例 2:
输入:[2,2,2,0,1]
输出:0
Python描述
这里就是直接返回列表中的最小值即可
class Solution:
def minArray(self, numbers: List[int]) -> int:
return min(numbers)
C/C++描述
这里由于是递增序列的旋转,所以 如果number[i] > number[i=1]的话,那么number[i=1]一定是最小的,如果循环结束没出现return,则就是本来就是递增的,直接返回number[0]
class Solution {
public:
int minArray(vector<int>& numbers) {
for(int i = 0; i < numbers.size()-1; i++)
if(numbers[i] > numbers[i+1])
return numbers[i+1];
return numbers[0];
}
};