news 2026/4/3 6:36:57

leetcode 3075(排序+贪心)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 3075(排序+贪心)

3075: 幸福值最大化的选择方案

为什么一定要按“从大到小”的顺序选?

  • 如果值都很大,大家减完 1 都还是正数,顺序不影响;
  • 反之,因为小的会减为 0,晚点选它没损失;但大的如果晚点选,就会被白白减去 1。

本质上,由于存在 max(0,...) 这个 “截断” 机制,越小的值越容易触发 “保底 0”。为了保护总和,我们应该优先榨取大值的剩余价值,让那些迟早要变成 0的小值去承担减量。

每个孩子被选中时,其贡献是 max(0, 初始值 - 已经过去的轮数);

只能选k个,优先选择较大的。

class Solution { public: long long maximumHappinessSum(vector<int>& happiness, int k) { long long ans=0; int m=0; sort(happiness.begin(),happiness.end()); for(int i=happiness.size()-1;i>=0;i--){ ans+=happiness[i]; m++; if(m==k) break; if(i-1>=0 && happiness[i-1]>0) happiness[i-1]=max(0,happiness[i-1]-m); } return ans; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/2 2:04:47

Transmission断点续传:5大核心技术让下载永不中断

当下载进度达到99%时突然断电&#xff0c;或者网络波动导致下载中断&#xff0c;你是否有过重新开始的痛苦经历&#xff1f;Transmission通过其智能恢复机制&#xff0c;让这些困扰成为历史。作为最受欢迎的BT客户端&#xff0c;Transmission的断点续传技术确保了即使在最恶劣的…

作者头像 李华
网站建设 2026/3/17 0:55:59

14、Python 测试:保障稳定性与可靠性的关键

Python 测试:保障稳定性与可靠性的关键 1. 测试的重要性与范围 Python 社区正逐步采用预提交系统,即只有在所有测试通过后,提交者才能将更改存入代码库。这表明测试的目的不仅是防止新手程序员犯错,随着 Python 的规模、范围和复杂度不断增加,测试还能捕捉到核心开发团队…

作者头像 李华
网站建设 2026/4/1 14:14:01

19、医疗软件测试:多用户测试与模拟真实场景的探索

医疗软件测试:多用户测试与模拟真实场景的探索 多用户测试的独特视角 在软件测试领域,不同的测试方法都有着各自的积极影响。就像临时测试和探索性测试,它们都能帮助我们发现并修复软件中的漏洞,提升我们对软件质量的信心。而多用户测试,更是有着别样的意义。 我脑海中…

作者头像 李华
网站建设 2026/3/31 4:45:34

26、高效软件测试:策略与实践

高效软件测试:策略与实践 1. 测试用例与回归测试 1.1 测试用例示例 以下是一系列测试用例代码,展示了对特定页面元素的操作和条件等待: ok 17 - wait_for_condition, try { selenium.isVisible(st-save-button-link) ? true : false } catch(e) { false }, 55000 ok 1…

作者头像 李华