社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

亓官劼 • 5 年前 • 467 次点击  

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
  • 1
  • 2

示例 2:

输入:[2,2,2,0,1]
输出:0
  • 1
  • 2

Python描述

这里就是直接返回列表中的最小值即可

class Solution:
    def minArray(self, numbers: List[int]) -> int:
        return min(numbers)
  • 1
  • 2
  • 3

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];
    }
};
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/71696
 
467 次点击