当前位置:网站首页>LeetCode·每日一题·1403.非递增顺序的最小子序列·贪心
LeetCode·每日一题·1403.非递增顺序的最小子序列·贪心
2022-08-04 15:51:00 【小迅想变强】
链接:https://leetcode.cn/problems/minimum-subsequence-in-non-increasing-order/solution/by-xun-ge-v-pray/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
题目
示例
思路
解题思路
题目需要得到 元素之和最大 长度最小 的子序列,并非子串,说明答案与位置无关,可以对原字符串进行处理,这里最简单的处理就是升序处理,因为我们需要最大元素
将数组元素升序处理,并统计数组元素和 max ,因为需要的 子序列的元素之和 严格 大于未包含在该子序列中的各元素之和 -> 我们取的子序列元素和*2应该刚刚好大于整个元素和
贪心思想:
每次取元素都从最大值开始,从而保证长度最短而元素之和最大
代码
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int cmp(const void * a, const void * b)//升序
{
return *(int *)a - *(int *)b;
}
int* minSubsequence(int* nums, int numsSize, int* returnSize){
qsort(nums, numsSize, sizeof(int), cmp);
int * ans = malloc(sizeof(int) * numsSize);
int max = 0;//初始化变量
for(int i = 0; i < numsSize; i++)//统计元素和
{
max += nums[i];
}
*returnSize = 0;
int sum = 0;
for(int i = numsSize-1; i >= 0; i--)//从最大值开始取元素
{
if(sum*2 > max)
break;
sum += nums[i];
ans[(*returnSize)++] = nums[i];
}
return ans;
}
作者:xun-ge-v
链接:https://leetcode.cn/problems/minimum-subsequence-in-non-increasing-order/solution/by-xun-ge-v-pray/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
边栏推荐
- 成功 解决 @keyup.enter=“search()“ 在el-input 组件中不生效的问题
- Many merchants mall system function and dismantling 24 - ping the strength distribution of members
- 分支控制if-else
- GPS卫星同步时钟,NTP网络同步时钟,北斗时钟服务器(京准)
- #夏日挑战赛# HarmonyOS 实现一个滑块验证
- B 站又上热搜了, HR 称「核心用户都是 Loser」
- 招募 | 香港理工大学Georg Kranz 博士诚招博士
- AAAI‘22 推荐系统论文梳理
- DMS 有接口获取每个实例下的数据库列表吗
- To ensure that the communication mechanism
猜你喜欢
随机推荐
吴恩达机器学习[11]-机器学习性能评估、机器学习诊断
重构指标之如何监控代码圈复杂度
DevOps平台中的制品库是什么?有什么用处?
攻防视角下,初创企业安全实战经验分享
Redis持久化操作
What is an artifact library in a DevOps platform?What's the use?
C端折戟,转战B端,联想的元宇宙梦能成吗?
07-输入输出系统
Li Mu's deep learning notes are here!
Request method ‘POST‘ not supported。 Failed to load resource: net::ERR_FAILED
MySQL当前读、快照读、MVCC
7 天学个Go,Go 结构体 + Go range 来学学
查看每个数据库分配给了哪些用户权限,这个有接口吗
成功 解决 @keyup.enter=“search()“ 在el-input 组件中不生效的问题
字节API鉴权方法
NUS颜水成等发布首篇《深度长尾学习》综述
OGG判断mgr状态并自动启动脚本
【二叉树】根据描述创建二叉树
云存储硬核技术内幕——(8) 只缘身在此山中
云存储硬核技术内幕——(13) 抓手,组合拳与闭环