Python 寻找局部最高点的实现

yipeiwu_com6年前Python基础

我就废话不多说了,直接上代码吧!

# 寻找局部最高点
# 输入input: 含有最高点高度的列表
# 输出output: 返回最高点的位置
# 时间复杂度: O(log(n))

def findHighSpot(input):
  iLen = len(input)
  mid = iLen//2 - 1 # Python中'/'为小数除法,'//'为地板除
  if input[mid-1] <= input[mid] >= input[mid+1]:
    return str(mid+1) # 默认返回最高点到第一个点之间的距离
  elif input[mid-1] > input[mid]:
    return findHighSpot(input[:mid//2])
  else:
    return 'mid+'+findHighSpot(input[mid//2:]) # 返回最高点距离中间点的距离

if __name__ == '__main__':
  input = [1, 2, 6, 5, 3, 7, 4]
  output = findHighSpot(input)
  print('output:', output) # output: 3

以上这篇Python 寻找局部最高点的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Win10下Python环境搭建与配置教程

Win10下Python环境搭建与配置教程

本教程为大家分享了win10下Python环境安装配置教程,供大家参考,具体内容如下 1.在https://www.python.org/downloads/release/python...

Python3.0中普通方法、类方法和静态方法的比较

一、语法区别 刚接触Python中的面向对象,对于类方法和静态方法难以区分,通过查找知乎、CSDN论坛,废了好大的劲思路才逐渐明朗,所以就总结顺便分享一下。 首先开始编辑代码 #...

Python 数据处理库 pandas 入门教程基本操作

Python 数据处理库 pandas 入门教程基本操作

pandas是一个Python语言的软件包,在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库。本文是对它的一个入门教程。 pandas提供了快速,灵活和富有...

Python异常对代码运行性能的影响实例解析

Python异常对代码运行性能的影响实例解析

前言 Python的异常处理能力非常强大,但是用不好也会带来负面的影响。我平时写程序的过程中也喜欢使用异常,虽然采取防御性的方式编码会更好,但是交给异常处理会起到偷懒作用。偶尔会想想异常...

Python+OpenCV目标跟踪实现基本的运动检测

Python+OpenCV目标跟踪实现基本的运动检测

目标跟踪是对摄像头视频中的移动目标进行定位的过程,有着非常广泛的应用。实时目标跟踪是许多计算机视觉应用的重要任务,如监控、基于感知的用户界面、增强现实、基于对象的视频压缩以及辅助驾驶等。...