亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python 求數(shù)組局部最大值的實(shí)例

 更新時(shí)間:2019年11月26日 15:55:50   作者:RealEmperor  
今天小編就為大家分享一篇Python 求數(shù)組局部最大值的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧

求數(shù)組局部最大值

給定一個(gè)無(wú)重復(fù)元素的數(shù)組A[0…N-1],求找到一個(gè)該數(shù)組的局部最大值。規(guī)定:在數(shù)組邊界外的值無(wú)窮小。即:A[0]>A[-1],A[N-1] >A[N]。

顯然,遍歷一遍可以找到全局最大值,而全局最大值顯然是局部最大值。

可否有更快的辦法?

算法描述

使用索引left、right分別指向數(shù)組首尾。

求中點(diǎn) mid = ( left + right ) / 2

A[mid]>A[mid+1],丟棄后半段:right=mid

A[mid+1]>A[mid],丟棄前半段:left=mid+1

遞歸直至left==right

時(shí)間復(fù)雜度為O(logN)。

Python代碼

def local_maximum(li):
  if li is None:
    return
  left = 0
  right = len(li) - 1
  while left < right:
    mid = int((left + right) / 2)
    if li[mid] > li[mid + 1]:
      right = mid
    else:
      left = mid + 1
  return li[left]


if __name__ == '__main__':
  li = [1, 5, 2, 3, 4, 0]
  result = local_maximum(li)
  print(result)

輸出結(jié)果:4

以上這篇Python 求數(shù)組局部最大值的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論