力扣第216场周赛(下)

  • 题目
  • 思路与算法
  • 代码实现
  • 写在最后

题目

  1. 生成平衡数组的方案数
  2. 完成所有任务的最少初始能量

思路与算法

  1. 第一题 删除的索引为i,删除之后(0- i-1)之间的子数组的奇偶和不变,而(i+1,end)的奇偶索引交换
  2. 贪心加自定义排序,代码参考自zero神的题解。

代码实现

  1. 生成平衡数组的方案数
class Solution {public int waysToMakeFair(int[] nums) {// 删除的索引为i,删除之后(0- i-1)之间的子数组的奇偶和不变,而(i+1,end)的奇偶索引交换int OddSum = 0;int EvenSum = 0;int leftOddSum = 0; int leftEvenSum = 0;int rightOddSum = 0;int rightEvenSum = 0;int res = 0;int len = nums.length;// 先计算当前奇偶索引和for (int i = 0; i < len; i++) {if(i % 2 == 0) EvenSum += nums[i];else OddSum += nums[i];}// 遍历所有可能性for (int i = 0; i < len; i++) {// 先计算左边的奇偶和if (i % 2 != 0) leftOddSum += nums[i];elseleftEvenSum += nums[i];rightOddSum = EvenSum - leftEvenSum;rightEvenSum = OddSum - leftOddSum;if (i % 2 != 0) rightOddSum -= nums[i];elserightEvenSum -= nums[i];if ((leftEvenSum + rightEvenSum) == (leftOddSum + rightOddSum)) {res++;}}return res;}
}
  1. 完成所有任务的最少初始能量
class Solution {public:int minimumEffort(vector<vector<int>>& tasks) {sort(tasks.begin(), tasks.end(), [](const vector<int> &a, const vector<int> &b) { return a[1] - a[0] > b[1] - b[0]; } );int ans = 0;       // 最低能量int cur_cost = 0;  // 实际能量for (int i = 0; i < tasks.size(); i++) {ans = max(ans, cur_cost + tasks[i][1]);cur_cost += tasks[i][0];}return ans;}};

写在最后

  1. 冲!

20201125:力扣第216场周赛(下)相关推荐

  1. 20201124:力扣第216场周赛(上)

    力扣第216场周赛(上) 题目 思路与算法 代码实现 写在最后 题目 检查两个字符串数组是否相等 具有给定数值的最小字符串 思路与算法 第二题即是所谓的贪心思想,我们只需要在满足条件的情况下尽可能的往 ...

  2. 20220228:力扣第282场周赛(下)

    力扣第282场周赛(下) 题目 思路与算法 代码实现 写在最后 题目 完成旅途的最少时间 完成比赛的最少时间 思路与算法 完成旅途的最少时间: 二分模板题,注意初始化左右边界的话,速度会提升很多. 完 ...

  3. 20220104:力扣第274场周赛(下)

    力扣第274场周赛(下) 题目 思路与算法 代码实现 写在最后 题目 摧毁小行星 参加会议的最多员工数 思路与算法 第3题简单模拟即可,注意使用long long格式进行保存累加结果.有二元组的简单比 ...

  4. 20220212:力扣第277场周赛(下)

    力扣第277场周赛(上) 题目 思路与算法 代码实现 写在最后 题目 找出数组中的所有孤独数字 基于陈述统计最多好人数 思路与算法 找出数组中的所有孤独数字 按照题意模拟即可,使用map来统计即可. ...

  5. 20220307:力扣第283场周赛(上)

    力扣第283场周赛(上) 题目 思路与算法 代码实现 写在最后 题目 Excel 表中某个范围内的单元格 向数组中追加 K 个整数 思路与算法 第一题直接模拟即可,注意作为char的数字也是可以直接自 ...

  6. 20220227:力扣第282场周赛(上)

    力扣第282场周赛(上) 题目 思路与算法 代码实现 写在最后 题目 统计包含给定前缀的字符串 使两字符串互为字母异位词的最少步骤数 思路与算法 第二题直接并集减去交集,简单的集合运算,当然也可以换C ...

  7. 20220213:力扣第280场周赛(上)

    力扣第280场周赛(上) 题目 思路与算法 代码实现 写在最后 题目 得到 0 的操作数 使数组变成交替数组的最少操作数 思路与算法 简单模拟即可,所谓辗转相除法 哈希处理,然后找到最大和次大值即可. ...

  8. 20220123:力扣第277场周赛(上)

    力扣第277场周赛(上) 题目 思路与算法 代码实现 写在最后 题目 元素计数 按符号重排数组 思路与算法 元素计数 按符号重排数组 无需多言,直接按照题目实现就行了,过于敷衍了这两个题,简单记录一下 ...

  9. 20220103:力扣第274场周赛(上)

    力扣第274场周赛(上) 题目 思路与算法 代码实现 写在最后 题目 检查是否所有 A 都在 B 之前 银行中的激光束数量 思路与算法 前两道都是简单的模拟,注意特殊情况的处理即可.第二个就是简单的相 ...

最新文章

  1. qlist length 函数讲解_读《JavaScript 轻量级函数式编程》
  2. flink批处理访问mysql_Flink 异步IO访问外部数据(mysql篇)
  3. MySql通用二进制版本在Linux(Ubuntu)下安装与开启服务
  4. C#摄像头实现拍照功能的简单代码示例
  5. YBTOJ洛谷P4551:最长异或路径(trie树)
  6. LOFTERD18B542F16FF685FD684F427B4…
  7. 2020下半年新机最新消息_三星小米华为苹果纷纷曝光高端机,这么多你选择谁?...
  8. python整数池_对Python中小整数对象池和大整数对象池的使用详解
  9. 《Business Rules Engine Overview》--《业务规则引擎概述》write by Mark Kamoski
  10. erl_0016 《硝烟中的erlang》 读书笔记003 “error_logger 爆炸”
  11. 【数据库原理实验(openGauss)】 使用JDBC连接数据库
  12. 基本概念学习--TaskList(任务列表)
  13. javamailsender注入失败_使用Spring3.x框架的java mail支持来发送邮件
  14. 宝马android系统升级,宝马史上最大规模软件升级,换新OS7系统和安卓Auto,您的换了吗...
  15. PostgreSQL pg_stats used to estimate top N freps values and explain rows
  16. PS学习-曝光与色彩处理(二)--纯净自然的高调照片
  17. kylin安装以及遇见到的一些问题和解决方法
  18. 1393: 国防部长PIPI
  19. android仿美团外卖选择地址,Android仿美团地址选择
  20. UnrealEngine5实操--基础概念(持续补充)

热门文章

  1. 苹果十年,焦虑在哪?
  2. 对抗弱网下的音视频难题,声网正式开源抗丢包音频编解码器 Agora SOLO!
  3. V 语言强势登顶 GitHub TOP1,欲取 Go 而代之?
  4. “Oracle 不会放弃 Java!”
  5. 升级核心产品,不和用户竞争,UCloud进军产业互联网差异化路线
  6. 小姐姐公开征婚高智商 IT 男:微信号竟要质数解密?
  7. 程序员如何快速迁移 10 亿级数据?
  8. Google 又逆天:语音输入离线实时输出文字,仅占 80 MB !然而……
  9. Java 8 中处理集合的优雅姿势——Stream
  10. 作为“梅西式”程序员,我要跳槽了