当前位置:网站首页>【日常训练】1403. 非递增顺序的最小子序列
【日常训练】1403. 非递增顺序的最小子序列
2022-08-05 01:59:00 【Puppet__】
题目
给你一个数组 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 {
// 排序从后往前加入list,直到list中数的和大于一半sum
public List<Integer> minSubsequence(int[] nums) {
Arrays.sort(nums);
List<Integer> ansList = new ArrayList<>();
int sum = 0;
for(int num : nums){
sum += num;
}
int tmp = 0;
for(int i = nums.length - 1; i >=0; i--){
tmp += nums[i];
ansList.add(nums[i]);
if(tmp * 2 > sum){
break;
}
}
return ansList;
}
}
边栏推荐
- 使用OpenVINO实现飞桨版PGNet推理程序
- 1349. 参加考试的最大学生数 状态压缩
- 【七夕如何根据情侣倾听的音乐进行薅羊毛】背景音乐是否会影响情侣对酒的选择
- 金仓数据库 KingbaseES V8 GIS数据迁移方案(3. 基于ArcGIS平台的数据迁移到KES)
- 如何看待自己的羞愧感
- SAP ERP和ORACLE ERP的区别是哪些?
- ".NET IoT from scratch" series
- 为什么他们选择和AI恋爱?
- KingbaseES V8 GIS data migration solution (2. Introduction to the capabilities of Kingbase GIS)
Utilities
猜你喜欢
KingbaseES V8 GIS数据迁移方案(2. Kingbase GIS能力介绍)
How do programmers without objects spend the Chinese Valentine's Day
[How to smash wool according to the music the couple listens to during the Qixi Festival] Does the background music affect the couple's choice of wine?
[Unity Entry Plan] Handling of Occlusion Problems in 2D Games & Pseudo Perspective
Tree search (bintree)
安装oracle11的时候为什么会报这个问题
tcp中的三次握手与四次挥手
"Dilili, wait for the lights, wait for the lights", the prompt sound for safe production in the factory
linux(centOs7)部署mysql(8.0.20)数据库
浅谈数据安全治理与隐私计算
随机推荐
pytorch的使用:使用神经网络进行气温预测
直播回放含 PPT 下载|基于 Flink & DeepRec 构建 Online Deep Learning
(十七)51单片机——AD/DA转换
树形查找(二叉查找树)
【PyQT5 绑定函数的传参】
用@Mapper查询oracle的分区情况报错
"Configuration" is a double-edged sword, it will take you to understand various configuration methods
std::string::find 返回值的坑
.Net C# Console Create a window using Win32 API
HOG feature study notes
[Unity Entry Plan] Handling of Occlusion Problems in 2D Games & Pseudo Perspective
居民用水问题
如何逐步执行数据风险评估
一文看懂推荐系统:召回06:双塔模型——模型结构、训练方法,召回模型是后期融合特征,排序模型是前期融合特征
EBS利用虚拟列及hint 提示优化sql案例一则
【TA-霜狼_may-《百人计划》】图形4.3 实时阴影介绍
“嘀哩哩,等灯等灯”,工厂安全生产的提示音
Fragment visibility judgment
[Word] #() error occurs after Word formula is exported to PDF
在这个超连接的世界里,你的数据安全吗