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

JAVA练习101-任务调度器

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、题目-任务调度器

1.题目描述

2.思路与代码

2.1 思路

2.2 代码

总结


前言

提示:这里可以添加本文要记录的大概内容:

4月7日练习内容


提示:以下是本篇文章正文内容,下面案例可供参考

一、题目-任务调度器

1.题目描述

给你一个用字符数组 tasks 表示的 CPU 需要执行的任务列表。其中每个字母表示一种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。在任何一个单位时间,CPU 可以完成一个任务,或者处于待命状态。

然而,两个 相同种类 的任务之间必须有长度为整数 n 的冷却时间,因此至少有连续 n 个单位时间内 CPU 在执行不同的任务,或者在待命状态。

你需要计算完成所有任务所需要的 最短时间 。

示例 1:

输入:tasks = ["A","A","A","B","B","B"], n = 2
输出:8
解释:A -> B -> (待命) -> A -> B -> (待命) -> A -> B
     在本示例中,两个相同类型任务之间必须间隔长度为 n = 2 的冷却时间,而执行一个任务只需要一个单位时间,所以中间出现了(待命)状态。 

示例 2:

输入:tasks = ["A","A","A","B","B","B"], n = 0
输出:6
解释:在这种情况下,任何大小为 6 的排列都可以满足要求,因为 n = 0
["A","A","A","B","B","B"]
["A","B","A","B","A","B"]
["B","B","B","A","A","A"]
...
诸如此类

示例 3:

输入:tasks = ["A","A","A","A","A","A","B","C","D","E","F","G"], n = 2
输出:16
解释:一种可能的解决方案是:
     A -> B -> C -> A -> D -> E -> A -> F -> G -> A -> (待命) -> (待命) -> A -> (待命) -> (待命) -> A

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/task-scheduler
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2.思路与代码

2.1 思路

1. 先计算出现次数最多的任务,并把每个任务的出现次数统计放入Map集合中

2.遍历集合,如果找到与最多任务相同数量的集合,则计数器加一

3.输出

2.2 代码

代码如下(示例):

class Solution {public int leastInterval(char[] tasks, int n) {Map<Character,Integer> m = new HashMap<>();//最多执行次数int max = 0;//计算每个任务出现次数for(char c : tasks){//获得任务个数int res = m.getOrDefault(c,0) + 1;//更新任务数量m.put(c,res);max = Math.max(max,res);}//具有最多执行次数的任务数量int maxCount = 0;Set<Map.Entry<Character, Integer>> entrySet = m.entrySet();for (Map.Entry<Character, Integer> entry : entrySet) {int value = entry.getValue();if (value == max) {++maxCount;}}return Math.max((max - 1) * (n + 1) + maxCount, tasks.length);}
}


总结

提示:这里对文章进行总结:
 

相关文章:

JAVA练习101-任务调度器

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、题目-任务调度器 1.题目描述 2.思路与代码 2.1 思路 2.2 代码 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 4月7日练习…...

华为OD机试-匿名信-2022Q4 A卷-Py/Java/JS

电视剧《分界线》里面有一个片段&#xff0c;男主为了向警察透露案件细节&#xff0c;且不暴露自己&#xff0c;于是将报刊上的字减下来&#xff0c;剪拼成匿名信。 现在又一名举报人&#xff0c;希望借鉴这种手段&#xff0c;使用英文报刊完成举报操作。 但为了增加文章的混淆…...

muduo源码剖析--Inetaddress/Socket/Acceptor

InetAddress类 实际上封装了传入socket地址类&#xff0c;包括ip、端口以及具体的协议簇 // 封装socket地址类型 class InetAddress { public:explicit InetAddress(uint16_t port 0, std::string ip "127.0.0.1");explicit InetAddress(const sockaddr_in &…...

域名过户操作流程及常见问题

模板添加及模板过户操作流程&#xff1a; 一、添加模板操作流程&#xff1a; 1.在业务管理-域名管理-模板管理中找到“添加模板” 2.选择所有者类型&#xff08;个人或是企业/组织&#xff09;&#xff0c;填写新的域名所有者资料&#xff0c;填写无误后点击“确定”。 目前…...

多国拟发ChatGPT禁令 关“野兽”的笼子要来了?

“人工智能想越狱“、”AI产生自我意识”、“AI终将杀死人类”、“硅基生命的进化”.......曾经只在在赛博朋克等科技幻想中出现的剧情&#xff0c;在今年走向现实&#xff0c;生成式自然语言模型正在遭受前所未有的质疑。 聚光灯下最瞩目的那个是ChatGPT&#xff0c;3月底到4…...

深度学习中,Params参数量和FLOPs计算量分别指什么

在深度学习中&#xff0c;参数量和计算量是两个重要的概念。 参数量&#xff1a; 参数量指的是深度神经网络中需要学习的参数数量。在深度学习中&#xff0c;每个神经元都有一个权重&#xff0c;这些权重是需要通过训练来确定的。深度神经网络中的参数量是指所有权重的数量之…...

1分钟快速制作思维导图「ChatGPT+XMind」—— 跟上时代的脚步,这辈子就起飞了 - 第5篇

历史文章&#xff08;文章累计460&#xff09; 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 S…...

生成与获取token

public class JwtUtils {// TOKEN的有效期1小时&#xff08;S&#xff09;private static final int TOKEN_TIME_OUT 1 * 3600;// 加密KEYprivate static final String TOKEN_SECRET "itcast";// 生成Tokenpublic static String getToken(Map params){long current…...

【人工智能】ChatGTP从入门到精通

当谈论自然语言处理和文本生成技术时&#xff0c;Chat GPT 是一个备受瞩目的话题。作为一种基于深度学习的语言模型&#xff0c;Chat GPT 在近几年里已经展现出了惊人的能力&#xff0c;可以生成几乎无法区分与人类写作的文本&#xff0c;并在自然语言处理领域的各种任务中都表…...

电脑桌面图标间距突然变大怎么恢复

1. WindowsR打开 > 输入regedit 按住WindowsR打开运行&#xff0c;输入regedit并点击确定。 2. 双击Control Panel 双击展开HKEY_CURRENT_USER&#xff0c;双击展开Control Panel&#xff0c;双击展开Desktop。 3. 更改间距 点击打开WindowMetrics&#xff0c; 双击打开…...

详解各版本Web服务器限制请求体大小的方法

前言 我们在上传大文件的时候通常会把请求体大小限制设置的很大&#xff0c;但平常没有这种业务需求的时候一般就会做出限制&#xff0c;避免异常请求的进入&#xff0c;我们该怎么去设置这个限制呢&#xff1f; 一般来说&#xff0c;Linux服务器没有直接限制请求参数包大小的…...

二叉树_详解

目录 1. 树型结构 1.1 概念 1.2 概念 1.3 树的表示形式 1.4 树的应用 2. 二叉树 2.1 概念 2.2 两种特殊的二叉树 2.3 二叉树的性质 2.4 二叉树的存储 2.5 二叉树的基本操作 2.5.1 前置说明 2.5.2 二叉树的遍历 2.5.3 二叉树的基本操作 1. 树型结构 1.1 概念 …...

LOTO示波器电源环路增益分析客户实测

我们在之前有文章介绍过LOTO示波器信号源扫频测电源环路增益稳定性的方法和过程&#xff0c;可以参考演示视频如下&#xff1a; https://www.ixigua.com/7135738415382790663?logTaga843d537a27090d5117b 或者阅读对应的文章&#xff1a;《LOTO示波器 实测 开环增益频响曲线/电…...

Netty主要组件

: 在Netty中有很多重要的组件, 每个组件职业不同, 担负不同的功能。 组件一 NioEventLoop 在它的底层封装了Selector, 实现多路复用, 由唯一绑定的一个线程去进行三大步骤循环操作: 监听事件,处理事件,执行任务。 组件二 NioServerSocketChannel NioSocketChannel 一个是服务…...

Linux系统【centos7】常用基础命令教程

今天我来介绍一下Linux系统的基础知识。 首先&#xff0c;我们需要了解Linux是什么。Linux是一种免费且开放源代码的操作系统&#xff0c;它被广泛用于服务器、移动设备和嵌入式系统。 接下来&#xff0c;我们需要了解基本的Linux命令。其中一些基本命令包括&#xff1a; 1.…...

【Redis学习】Redis入门概述

Redis是什么 Redis:REmote Dictionary Server(远程字典服务器) 官网介绍&#xff1a;The open source, in-memory data store used by millions of developers as a database, cache, streaming engine, and message broker.&#xff08;被数百万开发人员用作数据库、缓存、流…...

nodejs微服务:Consul集群

Consule集群 1 &#xff09;概述 Consul是HashiCorp 公司推出的开源工具&#xff0c;用于实现分布式系统的服务发现与配置Consul是分布式的、高可用的、可横向扩展的, 完成consul的安装后&#xff0c;必须运行agentagent可以运行为 server模式、client模式, 每个数据中心至少…...

spring事务处理

系列文章目录 Spring中事务的处理相关内容的学习 文章目录系列文章目录前言一、Spring事务简介二、案例&#xff1a;银行账户转账1.题目要求和思路分析2.实现步骤3.实现结构三、spring事务角色四、spring事务相关配置五、案例&#xff1a;转账业务追加日志1.题目要求和思路分析…...

2023 年博客之星的入围规则

目的 感谢各位博主和社区的大力支持&#xff0c;我们的博客之星活动成为了 IT界非常知名的博主荣誉的象征&#xff0c;博主在这个过程中也给大家贡献了很多优质内容。 在过去的几年中&#xff0c;博主们给我们博客之星活动提了很多建议&#xff0c;其中最强烈的一点就是&#…...

【新2023Q2押题JAVA】华为OD机试 - 查找树中的元素 or 查找二叉树节点

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧本篇题解:查找树中的元素 or 查找二叉树…...

避免踩坑:Unity中Resources.LoadAll的正确使用姿势(含multiple模式Sprite处理)

Unity资源加载进阶&#xff1a;Resources.LoadAll与Sprite图集高效处理指南 在Unity开发中&#xff0c;资源加载是每个项目都无法绕开的核心环节。特别是当处理包含多张小图的Sprite图集时&#xff0c;很多开发者会陷入性能陷阱和功能误区。本文将深入剖析Resources.LoadAll的正…...

IDEA插件开发实战:手把手教你开发首个效率工具(附GitHub源码)

IDEA插件开发实战&#xff1a;从零打造你的专属效率工具 JetBrains系列IDE的强大之处不仅在于其核心功能&#xff0c;更在于其开放的插件生态系统。作为一名Java开发者&#xff0c;你是否曾想过为IDEA添加一个能提升自己工作效率的专属工具&#xff1f;本文将带你从零开始&…...

ChromePass终极指南:浏览器密码提取与安全管理完全攻略

ChromePass终极指南&#xff1a;浏览器密码提取与安全管理完全攻略 【免费下载链接】chromepass Get all passwords stored by Chrome on WINDOWS. 项目地址: https://gitcode.com/gh_mirrors/chr/chromepass 副标题&#xff1a;从密码危机到数据掌控&#xff1a;3步实现…...

5分钟搞懂3GPP NTN标准:从Release16到19的关键技术演进与实战应用

5分钟搞懂3GPP NTN标准&#xff1a;从Release16到19的关键技术演进与实战应用 当全球通信行业将目光投向低轨卫星星座与高空平台时&#xff0c;3GPP的NTN&#xff08;非地面网络&#xff09;标准正在重塑连接边界。本文将以工程师视角&#xff0c;带您穿透技术文档迷雾&#xf…...

打破数据标注瓶颈:Label Studio如何让AI训练效率提升300%?

打破数据标注瓶颈&#xff1a;Label Studio如何让AI训练效率提升300%&#xff1f; 【免费下载链接】label-studio Label Studio is a multi-type data labeling and annotation tool with standardized output format 项目地址: https://gitcode.com/GitHub_Trending/la/labe…...

日志分散难管理?用Visual Syslog Server实现企业级日志集中监控的5个实战方案

日志分散难管理&#xff1f;用Visual Syslog Server实现企业级日志集中监控的5个实战方案 【免费下载链接】visualsyslog Syslog Server for Windows with a graphical user interface 项目地址: https://gitcode.com/gh_mirrors/vi/visualsyslog 痛点诊断&#xff1a;日…...

防火墙旁挂模式实战:用华为模拟器ENSP搭建VRF+OSPF实验环境(保姆级)

华为eNSP防火墙旁挂模式全实战&#xff1a;从VRF设计到流量抓包分析 在企业网络架构中&#xff0c;防火墙的部署方式直接影响网络安全策略的实施效果。旁挂模式作为一种灵活部署方案&#xff0c;既能实现流量精细化管控&#xff0c;又避免了单点故障风险。本文将带您使用华为eN…...

别再只开会了!解锁Jitsi隐藏玩法:用Freeswitch+Jigasi打造智能电话会议IVR

解锁Jitsi企业级应用&#xff1a;用FreeswitchJigasi构建智能会议IVR系统 当视频会议成为企业刚需&#xff0c;大多数团队仍停留在基础会议功能层面。开源工具Jitsi与电信级软交换平台Freeswitch的结合&#xff0c;能创造出远超常规会议体验的智能交互系统。想象一下这样的场景…...

开源电池管理系统:SmartBMS的技术创新与实践应用

开源电池管理系统&#xff1a;SmartBMS的技术创新与实践应用 【免费下载链接】SmartBMS Open source Smart Battery Management System 项目地址: https://gitcode.com/gh_mirrors/smar/SmartBMS SmartBMS是一套开源智能电池管理系统&#xff0c;专为锂离子电池组&#…...

5分钟搞定局域网IP扫描:OpUtils保姆级配置教程(附常见问题排查)

5分钟搞定局域网IP扫描&#xff1a;OpUtils保姆级配置教程&#xff08;附常见问题排查&#xff09; 办公室里突然断网了&#xff1f;打印机死活连不上&#xff1f;新同事的电脑无法接入内网&#xff1f;作为中小企业IT运维人员&#xff0c;这些场景你一定不陌生。别急着打电话求…...