日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LeetCode215:数组中第K个最大元素

發(fā)布時間:2025/4/16 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode215:数组中第K个最大元素 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在未排序的數(shù)組中找到第 k 個最大的元素。請注意,你需要找的是數(shù)組排序后的第 k 個最大的元素,而不是第 k 個不同的元素。
示例:輸入: [3,2,1,5,6,4] 和 k = 2
輸出: 5

這個問題就是一個排序問題,下面嘗試使用不同的排序方法來實現(xiàn)。

快速排序

class Solution:def findKthLargest(self, nums: List[int], k: int) -> int:self.quickSortHelper(nums, 0, len(nums) - 1)return nums[-k]def quickSortHelper(self, nums, first, last):if first < last:splitPoint = self.partition(nums, first, last)self.quickSortHelper(nums, first, splitPoint - 1)self.quickSortHelper(nums, splitPoint + 1, last)def partition(self, nums, first, last):leftmark = firstrightmark = lastbase = nums[first]while leftmark < rightmark:if nums[leftmark] <= base:leftmark += 1if nums[rightmark] >= base:rightmark -= 1else:nums[leftmark], nums[rightmark] = nums[rightmark], nums[leftmark]nums[rightmark], nums[first] = nums[first], nums[rightmark]return rightmark

思路就是《劍指offer》中的Partition版本的一點微小改動。

堆排序

下面介紹一種堆排序的辦法。事實上,在這個問題中,使用堆排序要效果更好。因為要輸出倒數(shù)到k大個數(shù),在使用堆排序的時候,如果我們構(gòu)建的是最大堆,那么就會從最大值依次排序輸出,而我們之前介紹的快排,一定要排好序之后才能找到倒數(shù)第k大個數(shù),因此在這個問題中,相比于快排,堆排序效率更高。

在Python中,有一個包叫heapq,就可以幫我們建立堆這個數(shù)據(jù)結(jié)構(gòu)。因此,我們使用這個包來實現(xiàn)堆排序就簡單多了。

heapq介紹

但是這個heapq默認(rèn)是構(gòu)建最小堆,而不是最大堆。我們這里要輸出倒數(shù)第k大個數(shù)。做法很簡單。我們構(gòu)建堆的時候,把數(shù)字顛倒過來。最大的數(shù)變成最小的數(shù),這樣堆排序按照最小堆輸出的時候,再添加一個負(fù)號,實際上又顛倒過來了,這樣就相當(dāng)于按照最大堆來輸出了。下面是代碼:

class Solution(object):def findKthLargest(self, nums, k):""":type nums: List[int]:type k: int:rtype: int"""from heapq import heappush, heappoph = []for i in nums:heappush(h, -i)for i in range(0, k-1):heappop(h)return -heappop(h)a = Solution() nums = [1, 2,4,5, 3] a.findKthLargest(nums, 2) 《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的LeetCode215:数组中第K个最大元素的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产淫片av片久久久久久 | 欧美福利视频一区 | 国产又粗又猛又爽又黄的网站 | 国产成人无码一区二区在线播放 | 在线看片你懂得 | 欧美日一本 | 黄色av一区二区三区 | 国产a不卡 | 精品96久久久久久中文字幕无 | 驯服少爷漫画免费观看下拉式漫画 | 久久精品在线视频 | 久久久精品美女 | 伊人免费在线 | 狠狠干中文字幕 | 精品麻豆视频 | 天堂网资源 | 五月开心激情 | 91精品久久久久久久久久久 | 欧美激情天堂 | 亚洲视频h | 欧洲精品一区二区三区 | 美女黄色大片 | 校园激情av | 免费在线黄色片 | 国产男女猛烈无遮挡免费视频动漫 | 夜夜嗨老熟女av一区二区三区 | 日韩亚洲精品中文字幕 | 99热这里只有精品66 | 在线天堂v | 女同一区二区三区 | 91av免费看 | 91精品国产综合久 | 日韩免费网站 | 久久久久毛片 | 深爱五月激情五月 | 九色视频偷拍少妇的秘密 | 欧美高清a| www.白白色| 国产露脸国语对白在线 | 人人妻人人澡人人爽人人dvd | 6996电视影片免费看 | 亚洲视频999 | 性做久久久久久免费观看 | 女18毛片| 夜夜狠 | 欧美大尺度床戏做爰 | 黄色大片在线播放 | 五月激情小说网 | 久久久99精品免费观看 | 成人涩涩网 | 久久久新| 人人干干 | 欧美性猛交久久久久 | 亚洲精品久久久久久久久 | 69精品人人人人 | 精品久久久影院 | 夜夜爱视频 | 国产成人亚洲精品无码h在线 | 伊人精品国产 | 国产精品一区二区三区免费视频 | 国产一区二区在线观看视频 | 中文字幕最新 | 美女毛片网站 | 成人a毛片 | 国产又色又爽无遮挡免费动态图 | 深夜成人在线观看 | 国产最爽的乱淫视频国语对白 | 免费观看的毛片 | 色呦呦在线播放 | 美女av一区二区 | 国产一区欧美二区 | 黄色一级片一级片 | 天天干夜夜爱 | 波多野结衣国产在线 | 五月天中文字幕在线 | 天堂欧美城网站网址 | 人体内射精一区二区三区 | 脱裤吧导航 | 欧美精品乱码久久久久久按摩 | 在线无 | 日韩av综合 | 2020国产精品 | 欧美丰满美乳xxx高潮www | 大尺码肥胖女系列av | 在线视频精品免费 | 狂野欧美性猛交blacked | 国产精品一区二区免费看 | v天堂在线观看 | 五月天婷婷综合网 | 亚洲永久精品在线观看 | 亚洲热av| 毛片1000部免费看 | 麻豆视频在线观看 | 国产高清在线观看视频 | 黄色片美女 | 国产男男gay体育生白袜 | 久久理论 | 国产精品入口66mio男同 | 粉嫩视频在线观看 |