当前位置:网站首页>【LeetCode】1403.非递增顺序的最小子序列
【LeetCode】1403.非递增顺序的最小子序列
2022-08-04 10:50:00 【酥酥~】
题目
给你一个数组 nums,请你从中抽取一个子序列,满足该子序列的元素之和 严格 大于未包含在该子序列中的各元素之和。
如果存在多个解决方案,只需返回 长度最小 的子序列。如果仍然有多个解决方案,则返回 元素之和最大 的子序列。
与子数组不同的地方在于,「数组的子序列」不强调元素在原数组中的连续性,也就是说,它可以通过从数组中分离一些(也可能不分离)元素得到。
注意,题目数据保证满足所有约束条件的解决方案是 唯一 的。同时,返回的答案应当按 非递增顺序 排列。
示例 1:
输入:nums = [4,3,10,9,8]
输出:[10,9]
解释:子序列 [10,9] 和 [10,8] 是最小的、满足元素之和大于其他各元素之和的子序列。但是 [10,9] 的元素之和最大。
示例 2:
输入:nums = [4,4,7,6,7]
输出:[7,7,6]
解释:子序列 [7,7] 的和为 14 ,不严格大于剩下的其他元素之和(14 = 4 + 4 + 6)。因此,[7,6,7] 是满足题意的最小子序列。注意,元素按非递增顺序返回。
示例 3:
输入:nums = [6]
输出:[6]
提示:
1 <= nums.length <= 500
1 <= nums[i] <= 100
题解
贪心
从大到小依次取出,直到取出的子序列和严格大于剩余元素和
class Solution {
public:
vector<int> minSubsequence(vector<int>& nums) {
sort(nums.begin(),nums.end(),greater<int>());
int sum = accumulate(nums.begin(),nums.end(),0);
vector<int> result;
int sum_tmp = 0;
for(int k:nums)
{
result.push_back(k);
sum_tmp+=k;
if(sum_tmp > sum - sum_tmp)
break;
}
return result;
}
};
边栏推荐
- 3-5年以上的功能测试如何进阶自动化?
- 【Inspirational】The importance of review
- ECCV 2022 | 清华&腾讯AI Lab提出REALY: 重新思考3D人脸重建的评估方法
- Google Earth Engine APP——实现ui.Select() 的设定和条件判断
- C language * Xiaobai's adventure
- 遍历Map的四种方法
- Use pytest hook function to realize automatic test result push enterprise WeChat
- iMeta | 百度认证完成,搜索“iMeta”直达出版社主页和投稿链接
- AWS Lambda related concepts and implementation approach
- 二叉树与堆
猜你喜欢

cubemx stm32 afm3000 module gas flow sensor driver code

iMeta | German National Cancer Center Gu Zuguang published a complex heatmap visualization method

map的一道题目<单词识别>

HCIP 第十八天

MySQL:完整性约束和 表的设计原则

AWS Lambda相关概念与实现思路

MySQL之my.cnf配置文件

Multimedia and Internet of Things technology make the version "live" 129 vinyl records "Centennial Voice"

MySQL: Integrity Constraints and Table Design Principles

Jina 实例秀|基于神经搜索的网络安全威胁检测(一)
随机推荐
MySQL:面试问的范式设计
helm安装
移动端 开源低代码工具 beeware 和 kivy
Doing Homework HDU - 1074
Advanced transcriptome analysis and R data visualization hot registration (2022.10)
RAID介绍及RAID5配置实例
Google Earth Engine APP ——制作上传GIF动图并添加全球矢量位置
LeetCode第三题(Longest Substring Without Repeating Characters)三部曲之三
无代码平台数字入门教程
Business collocations
深度学习100例 —— 卷积神经网络(CNN)天气识别
Apache Calcite 框架原理入门和生产应用
RL78 development environment
datax oracle to oracle离线json文件
map的一道题目<单词识别>
线程必备内容
Heap Sort
从零开始Blazor Server(7)--使用Furion权限验证
航企纠缠A350安全问题 空客主动取消飞机订单
小程序容器加快一体化在线政务服务平台建设