题解 | #旋转排列之找出最矮的牛#

旋转排列之找出最矮的牛

https://www.nowcoder.com/practice/ea91217beb83444aa324b86bfab4a952

  • 题目考察的知识点 : 二分,分而治之
  • 题目解答方法的文字分析:
  1. 如果数组没有旋转,那么最小元素一定是第一个元素。
  2. 如果数组经过旋转,那么最小元素一定会在中间某个位置出现。
  3. 将数组从中间位置分开,那么至少有一半是有序的。如果最小元素在有序的那一半中,那么我们需要在这一部分中继续查找。否则,最小元素就在另一半中,我们需要在那一半中查找
  • 本题解析所用的编程语言:Python
  • 完整且正确的编程代码
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param heights int整型一维数组 
# @return int整型
#
class Solution:
    def findMin(self , heights: List[int]) -> int:
        left = 0
        right = len(heights) - 1
        res = 0
        while left < right:
            mid = (left + right) // 2
            if heights[mid] < heights[right]:
                left = mid + 1
            elif heights[mid] > heights[right]:
                right = mid
            res = mid
        return heights[res]
牛客高频top202题解系列 文章被收录于专栏

记录刷牛客高频202题的解法思路

全部评论

相关推荐

Aurora23:属于挂一半,暂时进池子了,隔一段时间没有其他组捞的话就彻底结束了
点赞 评论 收藏
分享
10-17 13:54
上海大学 运营
雾凇岛:这还说什么了,冲了兄弟们
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务