欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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:這里再為大家推薦一款關于排序的演示工具供大家參考:

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

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

希望本文所述對大家Python程序設計有所幫助。

相關文章

  • python常用的正則表達式大全

    python常用的正則表達式大全

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

    通過mod_python配置運行在Apache上的Django框架

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

    python寫日志文件操作類與應用示例

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

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

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

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

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

    Python的線程之線程同步

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

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

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

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

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

    python基礎之函數(shù)

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

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

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

最新評論