首页 > 其他分享 >Leecode热题100--215:数组中的第k个最大值

Leecode热题100--215:数组中的第k个最大值

时间:2024-05-30 14:33:05浏览次数:26  
标签:sort 215 nums -- 元素 pop int Leecode heap

题目
给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。

请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。时间复杂度为 O(n) 的算法

解法一:
利用STL特性解题:

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

class Solution
{
public:
	int findKLargest(vector<int>& nums, int k)
	{
		// make_heap() 用于把一个可迭代容器变成一个大顶堆,即升序
		make_heap(nums.begin(),nums.end());
		for(int i = 0;i<k-1;i++)
		{
			// pop_heap:用于将堆的第0个元素与最后一个元素交换位置
			pop_heap(nums.begin(),nums.end());
			// pop_back:删除容器内的最后一个元素
			nums.pop_back();
		}
		return nums[0];
	}
};

解法二、常规思路
sort排序后,选择第nums.size()-k的值,即为第k个最大值:sort是升序排序

class Solution {
public:
	int findKthLargest(vector<int>& nums, int k) {
		sort(nums.begin(), nums.end());
		return nums[nums.size() - k];
	}
};

标签:sort,215,nums,--,元素,pop,int,Leecode,heap
From: https://blog.csdn.net/qq_41920323/article/details/139322906

相关文章

  • WCDMA LTE FDD TDD 区别
     首先,这四种都是移动网络通讯的标准 WCDMAWCDMA是一种让手机可以更快上网和打电话的技术。它有几个关键特点:宽带:就像一条很宽的高速公路,可以让更多的数据(信息)同时通过。这意味着你上网、看视频或者下载东西的速度会更快。码分多址:这是WCDMA的一种特殊技术,让很多人可以同......
  • 【Android图片框架】都用Kotlin协程了,快来试试Coil~
    回顾一下Glide        Glide是一个快速高效的Android图片加载库,注重于平滑的滚动。Glide提供了易用的API,高性能、可扩展的图片解码管道(decodepipeline),以及自动的资源池技术。Glide支持拉取,解码和展示视频快照,图片,和GIF动画。Glide的Api是如此的灵活,开发者甚至可以......
  • 图灵机求解 a^(0+1+2+3+....+n)
    有谁能告诉我如何实现图灵机?L=Xa^nn>=0andn=0+1+2+3++ML=Xa^nn>=0且n=0+1+2+3+....+M接受的例子:Xa->(0+1)Xaaa->(0+1+2)Xaaaaaa(0+1+2+3)等等。我在网上找不到任何资料。首先,我必须将一个A变成Y(我选的是Y,没什么特别的)其次,我......
  • 密评培训 噜啊噜
    密钥管理的安全原则全面安全原则最小权限原则责任分离原则密钥分级原则密钥更换原则密钥应有足够的长度密钥体制不同,密钥管理不同密钥生命周期生成方式:口令派生、KDF、随机数无论何种方式,密钥都应在密码产品内部产生长度有要求,不用C语言那种函数密钥更新:密钥有生命......
  • Leecode---栈---每日温度 / 最小栈及栈和队列的相互实现
    栈:先入后出;队列:先入先出一、每日温度Leecode—739题目:给定一个整数数组temperatures,表示每天的温度,返回一个数组answer,其中answer[i]是指对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用0来代替。单调栈思路:1、新建一个存储......
  • 文件加密软件哪个好用?2024最值得收藏的文件加密软件
    在数字化时代,数据安全已经成为企业和个人不可忽视的重要问题。文件加密软件作为保障数据安全的重要工具,其选择和使用显得尤为关键。那么,在众多的文件加密软件中,哪个最好用呢?2024年,以下几款文件加密软件最推荐收藏。首先,我们推荐的是“安秉网盾加密软件”。这款软件以其高效、......
  • Leecode热题100---二分查找--4:寻找两个正序数组的中位数
    题目:给定两个大小分别为m和n的正序(从小到大)数组nums1和nums2。请你找出并返回这两个正序数组的中位数。解法1、暴力解法(归并)思路:合并nums1,nums2为第三个数组排序第三个数组按下标,找出中位数classSolution{public: doublefindMedianSortedArrays(vec......
  • Python+Py可执行程序适配win7系统(完美简单解决)
           之前用python3.11+pyqt5开发的可执行程序,在win7执行报错,尝试了多种方法,通过降低python版本,pyqt5版本以及打包时包含相应外部库等方式,执行时均出现报错。报错情况:        1.如果你系统相关vc++支持库都已安装,执行时报错:缺少api-ms-win-core-path-......
  • 【源码】Spring Data JPA原理解析之Repository自定义方法命名规则执行原理(一)
     SpringDataJPA系列1、SpringBoot集成JPA及基本使用2、SpringDataJPACriteria查询、部分字段查询3、SpringDataJPA数据批量插入、批量更新真的用对了吗4、SpringDataJPA的一对一、LazyInitializationException异常、一对多、多对多操作5、SpringDataJPA自定......
  • 在Matpower中接入光伏发电
    在Matpower中,Bus有以下4种类型:①PQ节点(负荷节点);②PV节点(电压控制/发电机节点);③平衡节点;④孤岛节点;由于Matpower的标准案例文件中不包含光伏发电机节点,因此需要在PV节点上接入光伏发电机。1.加载和修改标准案例文件functionmpc=case9_with_pv()  %加载标准测试......