C/C++/Python描述 LeetCode 剑指 Offer 11. 旋转数组的最小数字

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];
    }
};

猜你喜欢

转载自blog.csdn.net/qq_43422111/article/details/107507670