宁都网站建设,网站优化快速排名软件,泗阳县住房和建设局网站,jsp网站开发代码下载文章目录1. 题目2. 解题1. 题目
给你一个整数数组 nums 和一个正整数 k #xff0c;返回长度为 k 且最具 竞争力 的 nums 子序列。
数组的子序列是从数组中删除一些元素#xff08;可能不删除元素#xff09;得到的序列。
在子序列 a 和子序列 b 第一个不相同的位置上返回长度为 k 且最具 竞争力 的 nums 子序列。
数组的子序列是从数组中删除一些元素可能不删除元素得到的序列。
在子序列 a 和子序列 b 第一个不相同的位置上如果 a 中的数字小于 b 中对应的数字那么我们称子序列 a 比子序列 b相同长度下更具 竞争力 。
例如[1,3,4] 比 [1,3,5] 更具竞争力在第一个不相同的位置也就是最后一个位置上 4 小于 5 。
示例 1
输入nums [3,5,2,6], k 2
输出[2,6]
解释在所有可能的子序列集合 {[3,5], [3,2], [3,6], [5,2], [5,6], [2,6]} 中
[2,6] 最具竞争力。示例 2
输入nums [2,4,3,3,5,4,9,6], k 4
输出[2,3,3,4]提示
1 nums.length 10^5
0 nums[i] 10^9
1 k nums.length来源力扣LeetCode 链接https://leetcode-cn.com/problems/find-the-most-competitive-subsequence 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题
class Solution {
public:vectorint mostCompetitive(vectorint nums, int k) {int n nums.size();if(n k)return nums;dequeint q;for(int i 0; i n; i){while(!q.empty() q.size()n-i k q.back() nums[i])// 当前的数字比前面的小且容器里和剩余的总的数据个数比 k 个多q.pop_back();//删除这个较大的数字q.push_back(nums[i]);}return vectorint(q.begin(), q.begin()k);}
};412 ms 97.2 MB C 我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步