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

Python實(shí)現(xiàn)查找數(shù)組中任意第k大的數(shù)字算法示例

 更新時(shí)間:2019年01月23日 11:22:23   作者:hustfc  
這篇文章主要介紹了Python實(shí)現(xiàn)查找數(shù)組中任意第k大的數(shù)字算法,涉及Python針對(duì)數(shù)組的排序、查找等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Python實(shí)現(xiàn)查找數(shù)組中任意第k大的數(shù)字算法。分享給大家供大家參考,具體如下:

模仿partion方法,當(dāng)high=low小于k的時(shí)候,在后半部分搜索,當(dāng)high=low大于k的時(shí)候,在前半部分搜索。與快排不同的是,每次都減少了一半的排序。

def partitionOfK(numbers, start, end, k):
  if k < 0 or numbers == [] or start < 0 or end >= len(numbers) or k > end:
    return None
  low = start
  high = end
  key = numbers[start]
  while low < high:
    while low < high and numbers[high] >= key:
      high -= 1
    numbers[low] = numbers[high]
    while low < high and numbers[low] <= key:
      low += 1
    numbers[high] = numbers[low]
  numbers[low] = key
  if low < k:
    return partitionOfK(numbers, start + 1, end, k)
  elif low > k:
    return partitionOfK(numbers, start, end - 1, k)
  else:
    return numbers[low]
numbers = [3,5,6,7,2,-1,9,3]
print(sorted(numbers))
print(partitionOfK(numbers, 0, len(numbers) - 1, 5))

輸出:返回了第五大排序的數(shù)字

[-1, 2, 3, 3, 5, 6, 7, 9]
6

PS:這里再為大家推薦一款關(guān)于排序的演示工具供大家參考:

在線動(dòng)畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具:
http://tools.jb51.net/aideddesign/paixu_ys

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python列表(list)操作技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • python常用的正則表達(dá)式大全

    python常用的正則表達(dá)式大全

    正則表達(dá)式是一個(gè)特殊的字符序列,它能幫助你方便的檢查一個(gè)字符串是否與某種模式匹配,下面這篇文章主要給大家介紹了關(guān)于python常用正則表達(dá)式的相關(guān)資料,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • 通過mod_python配置運(yùn)行在Apache上的Django框架

    通過mod_python配置運(yùn)行在Apache上的Django框架

    這篇文章主要介紹了通過mod_python配置運(yùn)行在Apache上的Django框架,Django是最具人氣的Python web開發(fā)框架,需要的朋友可以參考下
    2015-07-07
  • python寫日志文件操作類與應(yīng)用示例

    python寫日志文件操作類與應(yīng)用示例

    這篇文章主要介紹了python寫日志文件操作類與應(yīng)用,結(jié)合實(shí)例形式分析了Python日志文件操作類的定義與使用相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • 一行代碼python實(shí)現(xiàn)文件共享服務(wù)器

    一行代碼python實(shí)現(xiàn)文件共享服務(wù)器

    這篇文章主要介紹了一行代碼python實(shí)現(xiàn)文件共享服務(wù)器,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Python 常用 PEP8 編碼規(guī)范詳解

    Python 常用 PEP8 編碼規(guī)范詳解

    這篇文章主要介紹了Python 常用 PEP8 編碼規(guī)范詳解的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • Python的線程之線程同步

    Python的線程之線程同步

    這篇文章主要為大家介紹了Python線程同步,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • python實(shí)現(xiàn)將文本轉(zhuǎn)換成語音的方法

    python實(shí)現(xiàn)將文本轉(zhuǎn)換成語音的方法

    這篇文章主要介紹了python實(shí)現(xiàn)將文本轉(zhuǎn)換成語音的方法,涉及Python中pyTTS模塊的相關(guān)使用技巧,需要的朋友可以參考下
    2015-05-05
  • Python字典取值全攻略之高效、簡(jiǎn)潔地獲取字典值的多種技巧

    Python字典取值全攻略之高效、簡(jiǎn)潔地獲取字典值的多種技巧

    這篇文章主要給大家介紹了關(guān)于Python字典取值全攻略之高效、簡(jiǎn)潔地獲取字典值的多種技巧,dictionary(字典)是除列表以外Python之中最靈活的數(shù)據(jù)類型,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • python基礎(chǔ)之函數(shù)

    python基礎(chǔ)之函數(shù)

    這篇文章主要介紹了python的函數(shù),實(shí)例分析了Python中返回一個(gè)返回值與多個(gè)返回值的方法,需要的朋友可以參考下
    2021-10-10
  • python正則表達(dá)式之作業(yè)計(jì)算器

    python正則表達(dá)式之作業(yè)計(jì)算器

    這篇文章主要為大家詳細(xì)介紹了python正則表達(dá)式之作業(yè)計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們
    2016-03-03

最新評(píng)論