日韩性视频-久久久蜜桃-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)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲三级网 | 夜夜操免费视频 | 国产三级短视频 | 一级做a爱片久久毛片 | 另类欧美亚洲 | 成人午夜毛片 | 色女人在线 | 成人夜夜| 夜夜狠狠擅视频 | 最新在线观看av | 九九热在线观看 | 一本之道久久 | 一级特黄aa大片免费播放 | 精品久久香蕉国产线看观看亚洲 | 2018天天操| 国产成人无遮挡在线视频 | av在线免费播放 | 免费在线观看网址入口 | 亚洲综合久久久 | 精品乱码一区二区三四区视频 | 91福利社在线观看 | 欧美日韩视频在线观看一区 | 亚洲婷婷小说 | 国产草草草 | 国产熟女一区二区三区五月婷 | 91极品身材尤物theporn | 性色av一区二区三区红粉影视 | 日韩视频中文字幕 | 国产在成人精品线拍偷自揄拍 | 午夜色网 | 经典三级第一页 | 男男全肉变态重口高h | 成人免费毛片观看 | 在线国产观看 | 菊肠扩张playh| 一级特黄毛片 | 无码人妻丰满熟妇区五十路百度 | 自拍偷拍亚洲精品 | 成人午夜精品福利 | 88久久精品无码一区二区毛片 | 天天干,天天操 | 99久久久无码国产精品免费蜜柚 | 亚洲精品在线电影 | 精品人妻久久久久一区二区三区 | 少妇4p | 国产极品探花 | 91麻豆蜜桃一区二区三区 | 亚洲AV无码一区二区三区蜜桃 | 亚洲一区二区精品在线观看 | 午夜视频网站 | 人人妻人人澡人人爽人人精品 | 亚洲一区二区日本 | gay男互凵gay男同偷精 | 性福宝av| 成人综合婷婷国产精品久久 | 99爱在线观看 | 免费视频毛片 | 久久久久99精品成人片三人毛片 | 亚洲草逼| 黄色wwww| 亚洲性大片 | 成年人a级片 | 欧美变态另类刺激 | 让男按摩师摸好爽 | 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 成人午夜免费在线 | 国产任你操 | 免费的污网站 | 精品影片一区二区入口 | 一级片久久久 | 男人资源网站 | 国产精品视频区 | 深夜网站在线观看 | 日韩欧美国产综合 | 特淫毛片 | 女人高潮被爽到呻吟在线观看 | 国产精品婷婷午夜在线观看 | 亚洲国产tv| 久久精品牌麻豆国产大山 | 日本黄色视屏 | 一区二区三区免费看 | 久久精品免费看 | 美女啪啪免费视频 | 日韩视频免费 | 亚洲综合色自拍一区 | 夜夜操网址 | 激情影院内射美女 | 欧美夜夜夜 | 少妇人妻好深好紧精品无码 | 欧美播放 | 亚洲一区中文字幕在线 | 久久官网 | 中文字幕精品在线 | 日韩欧美h | 四季av中文字幕一区 | 国产无套视频 | 欧美在线亚洲 | 蜜臀在线视频 | 男生草女生视频 |