最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

本文實例講述了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:這里再為大家推薦一款關(guān)于排序的演示工具供大家參考:

在線動畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具:
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īng)典教程

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

相關(guān)文章

  • Python利用xlwt/openpyxl/xlutils實現(xiàn)寫入Excel數(shù)據(jù)

    Python利用xlwt/openpyxl/xlutils實現(xiàn)寫入Excel數(shù)據(jù)

    這篇文章主要為大家詳細介紹了Python如何利用xlwt/openpyxl/xlutils這些第三方庫實現(xiàn)寫入Excel數(shù)據(jù)功能,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-11-11
  • 解決Keras TensorFlow 混編中 trainable=False設(shè)置無效問題

    解決Keras TensorFlow 混編中 trainable=False設(shè)置無效問題

    這篇文章主要介紹了解決Keras TensorFlow 混編中 trainable=False設(shè)置無效問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 教你十行代碼實現(xiàn)python向手機推送通知功能

    教你十行代碼實現(xiàn)python向手機推送通知功能

    這篇文章主要介紹了十行代碼實現(xiàn)python向手機推送通知,這里使用的是pushplus的服務(wù),代碼也很簡單,運行代碼后也是很快就可以收到消息推送,需要的朋友可以參考下
    2022-04-04
  • Python表示矩陣的方法分析

    Python表示矩陣的方法分析

    這篇文章主要介紹了Python表示矩陣的方法,結(jié)合具體實例形式分析了Python表示矩陣的方法與相關(guān)操作注意事項,需要的朋友可以參考下
    2017-05-05
  • Python爬蟲進階Scrapy框架精文講解

    Python爬蟲進階Scrapy框架精文講解

    這篇文章主要為大家介紹了Python爬蟲進階中Scrapy框架精細講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-10-10
  • Python通過m3u8文件下載合并ts視頻的操作

    Python通過m3u8文件下載合并ts視頻的操作

    這篇文章主要介紹了Python通過m3u8文件下載合并ts視頻的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • Python獲取PDF文檔的各種頁面信息

    Python獲取PDF文檔的各種頁面信息

    了解PDF頁面信息對于有效處理、編輯和管理PDF文件至關(guān)重要,PDF文件通常包含多個頁面,每個頁面可能有不同的尺寸、方向、旋轉(zhuǎn)角度以及其他屬性,這篇文章將介紹如何使用Python獲取PDF文檔的各種頁面信息,需要的朋友可以參考下
    2025-02-02
  • Python實現(xiàn)的列表排序、反轉(zhuǎn)操作示例

    Python實現(xiàn)的列表排序、反轉(zhuǎn)操作示例

    這篇文章主要介紹了Python實現(xiàn)的列表排序、反轉(zhuǎn)操作,結(jié)合實例形式分析了Python針對列表的sort排序、以及基于reverse、切片的反轉(zhuǎn)操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2019-03-03
  • python print輸出延時,讓其立刻輸出的方法

    python print輸出延時,讓其立刻輸出的方法

    今天小編就為大家分享一篇python print輸出延時,讓其立刻輸出的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • pytest配置文件pytest.ini的配置、原理與實際應用詳解

    pytest配置文件pytest.ini的配置、原理與實際應用詳解

    在Python的測試生態(tài)中,pytest無疑是最受歡迎的測試框架之一,在pytest的眾多配置文件中,pytest.ini無疑是最為重要和常用的一個,本文將深入探討pytest.ini的配置、工作原理以及實際應用場景,幫助讀者更好地理解和使用這一強大的工具,需要的朋友可以參考下
    2025-03-03

最新評論

阿拉善左旗| 长阳| 隆安县| 新干县| 巨野县| 诏安县| 天峻县| 淮北市| 保靖县| 太康县| 彭山县| 翼城县| 讷河市| 凉城县| 阿拉善左旗| 民县| 皮山县| 密云县| 铜山县| 孙吴县| 长乐市| 馆陶县| 宁夏| 卫辉市| 长治市| 陵水| 曲麻莱县| 明星| 楚雄市| 临桂县| 襄汾县| 丰宁| 合川市| 将乐县| 修文县| 泰宁县| 西充县| 大厂| 饶河县| 大英县| 中西区|