当前位置: 首页 > news >正文

LeetCode 每日一题 ---- 【2244.完成所有任务需要的最少轮数】

LeetCode 每日一题 ---- 【2244.完成所有任务需要的最少轮数】

  • 2244.完成所有任务需要的最少轮数
    • 方法:哈希表+贪心

2244.完成所有任务需要的最少轮数

方法:哈希表+贪心

用哈希表统计每个等级出现的次数
每次处理优先消费 3 个,m % 3 后,剩余数量只能为 0,1,2
因此对应的进行处理
若为 0 则说明 3 个 3 个的处理刚好处理完
若为 1 则说明 还剩下一个,这种情况,我们可以考虑成最后剩余了 4 个,因此可以转化为 2 个 2 个 的处理,因此最后结果 +1 即可
若为 2 则说明最后再进行一次 2 个处理即可

class Solution {public int minimumRounds(int[] tasks) {HashMap<Integer, Integer> hm = new HashMap<>();int len = tasks.length;for (int i = 0; i < len; i ++ ) {hm.put(tasks[i], hm.getOrDefault(tasks[i], 0) + 1);}int ans = 0;for (int v : hm.values()) {if (v == 1) {return -1;} else {ans += v / 3;// if (v % 3 == 2 || v % 3 == 1) ans ++ ;if (v % 3 != 0) ans ++ ;}}return ans;}
}

时间复杂度:
O(n)

空间复杂度:
O(n)

http://www.lryc.cn/news/349902.html

相关文章:

  • 【RAG 去噪】引入 NLI 模型来为 RAG 去噪
  • SQLite利用事务实现批量插入(提升效率)
  • 使用Python处理Excel数据:去除列中的双引号
  • 未来互联网:Web3的技术革新之路
  • 【练习】分治--快排思想
  • Unity读书系列《Unity高级编程:主程手记》——C#技术要点
  • Redis分片集群
  • Math.Round()函数说明
  • 001 定期同步mysql数据到es 删除数据库记录同时删除es记录 es全文搜索分词和高亮
  • Vue 快速入门:Vue初级
  • 什么是IP跳变?
  • Linux服务器lvm磁盘管理fdisk和df磁盘大小不同修改
  • AOP是什么和OOP的区别
  • Clickhouse 字符串函数 - 2
  • 【个人成长】Fitten Code 测试案例分析
  • 管理Anaconda虚拟环境的实用指南
  • python如何在图片上写斜体字
  • 算法练习第22天|39. 组合总和、40.组合总和II
  • CCF PTA 2022年11月C++大富翁游戏
  • React获取form表单值的N种方式
  • Apache Knox 2.0.0使用
  • Tomcat 内核详解 - Web服务器机制
  • 几个人脸库对于面部动作识别的功能比较
  • IDEA 使用Alibaba Cloud Toolkit 实现远程 自动部署
  • 蓝桥杯备战15.完全二叉树的权值
  • 【前端】LayUI监听事件汇总
  • 【多电压流程 Multivoltage Flow】- 5.特定工具使用建议(1.VCS NLP VC LP)
  • Elasticsearch 实现word、pdf、txt、excel文档内容快速检索(保姆级教程)
  • [初学rust] 04_rust复合类型
  • 什么是Zoho CRM客户关系系统管理?