博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode:154. 寻找旋转排序数组中的最小值 II
阅读量:5339 次
发布时间:2019-06-15

本文共 699 字,大约阅读时间需要 2 分钟。

1、题目描述

假设按照升序排序的数组在预先未知的某个点上进行了旋转。

( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。

请找出其中最小的元素。

注意数组中可能存在重复的元素。

示例 1:

输入: [1,3,5]输出: 1

示例 2:

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

说明:

  • 这道题是  的延伸题目。
  • 允许重复会影响算法的时间复杂度吗?会如何影响,为什么?

2、题解

2.1、解法一

class Solution(object):    def findMin(self, nums):        """        :type nums: List[int]        :rtype: int        """        n = len(nums)        if n == 0:            return None        elif n == 1:            return nums[0]        index= 0        while index < n-1 and nums[index] <= nums[index+1]:            index += 1        print(index)        if index == n-1:            return nums[0]        return nums[index+1]

  

转载于:https://www.cnblogs.com/bad-robot/p/10065536.html

你可能感兴趣的文章
博弈论小结
查看>>
模拟Post登陆带验证码的网站
查看>>
NYOJ458 - 小光棍数
查看>>
java中常用方法
查看>>
【Programming Clip】06、07年清华计算机考研上机试题解答(个别测试用例无法通过)...
查看>>
canvas动画
查看>>
4,7周围玩家
查看>>
关于webpack升级过后不能打包的问题;
查看>>
vue - 生命周期
查看>>
Python正则表达式
查看>>
Linux进程间通信--命名管道
查看>>
UVa 10970 - Big Chocolate
查看>>
js输出
查看>>
H5多文本换行
查看>>
HAL层三类函数及其作用
查看>>
Odoo 去掉 恼人的 "上午"和"下午"
查看>>
web@h,c小总结
查看>>
java编程思想笔记(一)——面向对象导论
查看>>
Data Structure 基本概念
查看>>
Ubuntu改坏sudoers后无法使用sudo的解决办法
查看>>