leetcode:6071. 完成所有任务需要的最少轮数【尽可能的多一点3】
分析
首先,用counter记录每个数出现的次数
显然是不能有1次的
大于1次都能办
对于大于一次的 从0开始遍历2的个数,直到减去若干个2后为3的倍数
最后ans累加上这里2个的个数和3个选的个数即可(一定有解)
对于k >= 2
2x + 3y = k一定有解,我猜的,这时候我们要让y最大即可
ac code
class Solution:def minimumRounds(self, tasks: List[int]) -> int:c = Counter()for task in tasks:c[task] += 1#print(c)for key in c.keys():if c[key] == 1:return -1ans = 0for key in c.keys():now = c[key]cnt2 = 0while (now - 2 * cnt2) % 3 != 0:cnt2 += 1ans += (cnt2 + (now - 2 * cnt2) // 3)return ans
总结
这里为了让3更多,也是变相的贪心!
leetcode:6071. 完成所有任务需要的最少轮数【尽可能的多一点3】相关推荐
- LeetCode 6071. 完成所有任务需要的最少轮数
文章目录 1. 题目 2. 解题 1. 题目 给你一个下标从 0 开始的整数数组 tasks ,其中 tasks[i] 表示任务的难度级别. 在每一轮中,你可以完成 2 个或者 3 个 相同难度级别 ...
- C++描述 LeetCode 5676. 生成交替二进制字符串的最少操作数
C++描述 LeetCode 5676. 生成交替二进制字符串的最少操作数 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在C ...
- 【LeetCode力扣】5814. 新增的最少台阶数 (第250场周赛)蓝湖专场
[LeetCode力扣]5814. 新增的最少台阶数 题目 代码 题目 给你一个 严格递增 的整数数组rungs,用于表示梯子上每一台阶的 高度 .当前你正站在高度为 0 的地板上,并打算爬到最后一个 ...
- LeetCode 2208. 将数组和减半的最少操作次数(优先队列)
文章目录 1. 题目 2. 解题 1. 题目 给你一个正整数数组 nums .每一次操作中,你可以从 nums 中选择 任意 一个数并将它减小到 恰好 一半.(注意,在后续操作中你可以对减半过的数继续 ...
- LeetCode 1758. 生成交替二进制字符串的最少操作数(DP)
文章目录 1. 题目 2. 解题 1. 题目 给你一个仅由字符 '0' 和 '1' 组成的字符串 s . 一步操作中,你可以将任一 '0' 变成 '1' ,或者将 '1' 变成 '0' . 交替字符串 ...
- LeetCode 1553. 吃掉 N 个橘子的最少天数(BFS)
文章目录 1. 题目 2. 解题 1. 题目 厨房里总共有 n 个橘子,你决定每一天选择如下方式之一吃这些橘子: 吃掉一个橘子. 如果剩余橘子数 n 能被 2 整除,那么你可以吃掉 n/2 个橘子. ...
- LeetCode 1536. 排布二进制网格的最少交换次数
文章目录 1. 题目 2. 解题 1. 题目 给你一个 n x n 的二进制网格 grid,每一次操作中,你可以选择网格的 相邻两行 进行交换. 一个符合要求的网格需要满足主对角线以上的格子全部都是 ...
- LeetCode 1443. 收集树上所有苹果的最少时间(自底向上DFS)
1. 题目 给你一棵有 n 个节点的无向树,节点编号为 0 到 n-1 ,它们中有一些节点有苹果. 通过树上的一条边,需要花费 1 秒钟. 你从 节点 0 出发,请你返回最少需要多少秒,可以收集到所有 ...
- LeetCode 1284. 转化为全零矩阵的最少反转次数(BFS 矩阵状态编码解码)
1. 题目 给你一个 m x n 的二进制矩阵 mat. 每一步,你可以选择一个单元格并将它反转(反转表示 0 变 1 ,1 变 0 ).如果存在和它相邻的单元格,那么这些相邻的单元格也会被反转.(注 ...
- LeetCode 871. Minimum Number of Refueling Stops 最少加油次数
LeetCode 871. Minimum Number of Refueling Stops 本题是LeetCode 871题,最少加油次数. 题目描述 A car travels from a s ...
最新文章
- CentOS下crash分析内核kdump文件方法
- MySQL(三)数据库的六种约束、表的关系、三大范式
- 写一个 panic blame 机器人
- Linux文件IO(文件的读写)
- Windows环境下多线程编程原理与应用读书笔记(8)————信号量及其应用
- php批量新增数据类型,Yii框架批量插入数据扩展类的简单实现方法
- java 中 class 对象_java中Class对象详解
- java day04【 Idea、方法】
- C语言实现顺序表(数据结构)
- 浙大PAT乙级 1002. 写出这个数
- 计算机网络知识总结(韩立刚老师视频)
- Akka-CQRS(9)- gRPC,实现前端设备与平台系统的高效集成
- 计算机配置里面没有网络选项,win7网络共享中心里面的更改适配器设置里面没有无线网络连接...-win7适配器没有无线网络连接,win7网络适配器未...
- win10找回永久删除文件【图文教程】
- 明星艺人宣传推广的有效方案有哪些呢?
- Java Cache 缓存方案详解及代码-Ehcache
- 元胞自动机在交通系统中的应用之一【元胞自动机的基础知识】
- 微信小程序如何使用阿里巴巴字体图标iconfont?
- MyEclispe发布web项目-遁地龙卷风
- 长文 | 2023届校招算法岗知识总结