当前位置:网站首页>【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;
}
};
边栏推荐
- iMeta | Baidu certification is completed, search "iMeta" directly to the publisher's homepage and submission link
- 无代码平台多行文字入门教程
- 移动端 开源低代码工具 beeware 和 kivy
- Google Earth Engine APP ——制作上传GIF动图并添加全球矢量位置
- MySQL core SQL: SQL structured query statements, library, table operation, CRUD
- 2万字50张图玩转Flink面试体系
- Win11怎么重装显卡驱动程序?Win11显卡驱动怎么卸载重装?
- Heap Sort
- 数据化管理洞悉零售及电子商务运营——零售密码
- 线程必备内容
猜你喜欢
随机推荐
vscode插件设置——Golang开发环境配置
Four ways to traverse a Map
Introduction to Mysql storage engine
MySQL:完整性约束和 表的设计原则
tp5+微信小程序 分片上传
昨夜梦佳人,七夕试伊妆丨基于ModelArts实现AI妆容迁移丨【玩转华为云】
zabbix部署
iMeta | 百度认证完成,搜索“iMeta”直达出版社主页和投稿链接
audio_policy_configuration.xml配置文件详解
深度学习100例 —— 卷积神经网络(CNN)天气识别
【励志】复盘的重要性
【虹科案例】基于3D相机组装家具
少即是多:视觉SLAM的点稀疏化(IROS 2022)
Graphic and text hands-on tutorial--ESP32 MQTT docking EMQX local server (VSCODE+ESP-IDF)
Super Learning Method
【Inspirational】The importance of review
iMeta | German National Cancer Center Gu Zuguang published a complex heatmap visualization method
CVPR 2022 | 从人体网格预测骨架,是真正的生理学骨架!
map的一道题目<单词识别>
图文手把手教程--ESP32 OTA空中升级(VSCODE+IDF)