2099 找到和最大的长度为 K 的子序列
题目描述:
给你一个整数数组 nums 和一个整数 k 。你需要找到 nums 中长度为 k 的 子序列 ,且这个子序列的 和最大 。
请你返回 任意 一个长度为 k 的整数子序列。
子序列 定义为从一个数组里删除一些元素后,不改变剩下元素的顺序得到的数组。
示例 1:
输入:nums = [2,1,3,3], k = 2
输出:[3,3]
解释:
子序列有最大和:3 + 3 = 6 。
示例 2:
输入:nums = [-1,-2,3,4], k = 3
输出:[-1,3,4]
解释:
子序列有最大和:-1 + 3 + 4 = 6 。
示例 3:
输入:nums = [3,4,3,3], k = 2
输出:[3,4]
解释:
子序列有最大和:3 + 4 = 7 。
另一个可行的子序列为 [4, 3] 。
提示:
1 <= nums.length <= 1000
-105 <= nums[i] <= 105
1 <= k <= nums.length
方法1:
主要思路:解题链接汇总
(1)使用堆获得最大的k个数字;
(2)将这k个数字对应的索引进行排序;
(3)使用排序后的索引从数组中取出这k个数字;
class Solution {public:vector<int> maxSubsequence(vector<int>& nums, int k) {priority_queue<pair<int,int>,vector<pair<int,int>>,greater<pair<int,int>>> p;vector<int>res;for(int i=0;i<k;i++){p.push({nums[i],i});}for(int i=k;i<nums.size();i++){if(nums[i]>p.top().first){p.pop();p.push({nums[i],i});}}set<int> st;while(p.size()>0){st.insert(p.top().second);p.pop();}for(auto i : st){res.push_back(nums[i]);}return res;}
};
2099 找到和最大的长度为 K 的子序列相关推荐
- LeetCode 2099. 找到和最大的长度为 K 的子序列
文章目录 1. 题目 2. 解题 1. 题目 给你一个整数数组 nums 和一个整数 k . 你需要找到 nums 中长度为 k 的 子序列 ,且这个子序列的 和最大 . 请你返回 任意 一个长度为 ...
- Leetcode-2099. 找到和最大的长度为 K 的子序列
链接 2099. 找到和最大的长度为 K 的子序列 题目 给你一个整数数组 nums 和一个整数 k .你需要找到 nums 中长度为 k 的 子序列 ,且这个子序列的 和最大 . 请你返回 任意 一 ...
- 两个有序数组A、B,长度分别为m、n,找到两个数组的第k个值并返回
/*************************************************************************** **description:两个有序数组A.B ...
- LeetCode 1708. 长度为 K 的最大子数组
文章目录 1. 题目 2. 解题 1. 题目 在数组 A 和数组 B 中,对于第一个满足 A[i] != B[i] 的索引 i ,当 A[i] > B[i] 时,数组 A 大于数组 B. 例如, ...
- LeetCode 1100. 长度为 K 的无重复字符子串(滑动窗口)
文章目录 1. 题目 2. 解题 1. 题目 给你一个字符串 S,找出所有长度为 K 且不含重复字符的子串,请你返回全部满足要求的子串的 数目. 示例 1: 输入:S = "havefuno ...
- 4014-基于邻接表的长度为k的简单路径的求解(C++,附思路)
描述 一个连通图采用邻接表作为存储结构.设计一个算法,判断无向图中任意给定的两点是否存在一条长度为k的简单路径. 输入 多组数据,每组m+3数据行.第一行有两个数字n,m和k,代表有n个顶点,m条边和 ...
- Java数据结构与算法———(10)单链表应用实例,找到单链表中倒数第K个节点
找到单链表中的倒数第K个节点,并打印输出节点.两段代码,思路都是相似的. 一.代码1 public class SingleLinkedListDemo {public static void mai ...
- R语言使用caret包中的createFolds函数对机器学习数据集进行交叉验证抽样、返回的样本列表长度为k个
R语言使用caret包中的createFolds函数对机器学习数据集进行交叉验证抽样.返回的样本列表长度为k个 目录
- 图中长度为k的路径的计数
Problem Description 题目给出一个有n个节点的有向图,求该有向图中长度为k的路径条数.方便起见,节点编号为1,2,-,n,用邻接矩阵表示该有向图.该有向图的节点数不少于2并且不超过5 ...
最新文章
- 6.18docker(一)Compose 模板文件
- Java--FutureTask原理与使用(FutureTask可以被Thread执行,可以被线程池submit方法执行,并且可以监控线程与获取返回值)...
- Hibernate4一对一关系映射(唯一外键方式)
- ps ico插件_常用 PS 插件合集(1)
- 【STM32】中断相关函数和类型
- excel 如何用vba将某一条记录移动到另一张工作表中_EXCEL常用快捷键
- Java ObjectOutputStream writeFloat()方法与示例
- html调用xfplugin,使用多设备执行脚本的时候,html report功能无法正常使用
- 关于内存对齐问题的一些资料整理
- 用java有理数类包含加减乘除_用java具体代码实现分数(即有理数)四则运算
- SQL Server 数据库做读写分离
- 微星主板黑苹果_黑苹果安装教程:准备磁盘+主板BIOS设置——墨涩网
- jrebel离线激活_jrebel激活
- AB工业计算机编程软件,罗克韦尔/AB VersaView 5100 工业监视器
- 小白的python学习实录 基础篇(八)面向对象
- 浏览器提示“此网站的安全证书有问题“,你还敢继续访问吗?
- 异常来自 HRESULT:0x80070057 (E_INVALIDARG)
- 读取dds文件转为opengl纹理
- matlab半小提琴图,不会编程,也可以画小提琴图啦!
- php小程序地图处理,微信小程序地图 map