[leetcode]2365. Task Scheduler II

news/2023/11/29 7:20:46

链接:力扣

给你一个下标从 0 开始的正整数数组 tasks ,表示需要 按顺序 完成的任务,其中 tasks[i] 表示第 i 件任务的 类型 。

同时给你一个正整数 space ,表示一个任务完成 后 ,另一个 相同 类型任务完成前需要间隔的 最少 天数。

在所有任务完成前的每一天,你都必须进行以下两种操作中的一种:

完成 tasks 中的下一个任务
休息一天
请你返回完成所有任务所需的 最少 天数。

示例 1:

输入:tasks = [1,2,1,2,3,1], space = 3
输出:9
解释:
9 天完成所有任务的一种方法是:
第 1 天:完成任务 0 。
第 2 天:完成任务 1 。
第 3 天:休息。
第 4 天:休息。
第 5 天:完成任务 2 。
第 6 天:完成任务 3 。
第 7 天:休息。
第 8 天:完成任务 4 。
第 9 天:完成任务 5 。
可以证明无法少于 9 天完成所有任务。
示例 2:

输入:tasks = [5,8,8,5], space = 2
输出:6
解释:
6 天完成所有任务的一种方法是:
第 1 天:完成任务 0 。
第 2 天:完成任务 1 。
第 3 天:休息。
第 4 天:休息。
第 5 天:完成任务 2 。
第 6 天:完成任务 3 。
可以证明无法少于 6 天完成所有任务。

class Solution {
public:long long taskSchedulerII(vector<int>& tasks, int space) {unordered_map<int, long long> m;int ind = 0;long long day= 0;while(ind < tasks.size()){if(m.find(tasks[ind]) == m.end()) {day+=1; m[tasks[ind]] = day;} else {if(day - m[tasks[ind]] >= space) {day += 1;  m[tasks[ind]] = day;} else{day += space - (day - m[tasks[ind]]) + 1;m[tasks[ind]] = day;}}++ind;}return day;}
};


http://www.ppmy.cn/news/980887.html

相关文章

Java封装继承多态

封装 1.将属性进行私有化private【不能直接修改属性】 2.提供一个公共的set方法&#xff0c;用于对属性判断并复制 public void setXxx(){//权限判断return xx; } 3.提供一个公共的get()方法&#xff0c;用于获取属性的值 public XX getXxx(){//权限判断return xx; } 比如…

go学习 3、基础数据类型

3、基础数据类型 基础数据类型&#xff1a;数字、字符串、布尔型复合类型&#xff1a;数组、结构体引用类型&#xff1a;指针、切片、字典、函数、通道接口类型 3.1 整型 有符号、无符号 int8/int16/int32/int64 uint8/uint16/uint32/units 64 Unicode字符rune类型是和int32…

k8s使用helm部署Harbor镜像仓库并启用SSL

1、部署nfs存储工具 参照&#xff1a;https://zhaoll.blog.csdn.net/article/details/128155767 2、部署helm 有多种安装方式&#xff0c;根据自己的k8s版本选择合适的helm版本 参考&#xff1a;https://blog.csdn.net/qq_30614345/article/details/131669319 3、部署Harbo…

Games101学习笔记 - 基础数学

向量 向量&#xff1a;方向和长度&#xff0c;没有起始位置 向量长度&#xff1a;各个方向平方相加开方 单位向量&#xff1a;向量除向量的长度 点乘 在笛卡尔坐标系中的点乘计算&#xff1a; 几何意思&#xff1a; 表示一个向量在另一个向量上的投影点乘在图形学中应用&a…

使用Ensp配置DHCP协议

如何使用Ensp配置DHCP协议&#xff0c;为PC自动分配IP地址 什么是DHCP&#xff1f; Dynamic Host Configuration Protocol&#xff0c;动态主机配置协议&#xff0c;简单理解为自动分配IP地址&#xff0c;有了这个协议就不用手动配置IP地址了&#xff0c;如图 思路 给路由…

【JDK新特性】必会_Stream API

【必看】原创声明&#xff1a;转载请注明作者 & 文章来源&#xff1a;都在用Stream流&#xff1f; ​​​​​​​ hello&#xff0c;我是小索奇&#xff0c;这次讲解JDK 8新特性的重点&#xff01;Stream流&#xff0c;到后期学习框架时候你会发现大量的Stream流出现&…

Python适配器模式介绍、使用方法

一、Python适配器模式介绍 适配器模式(Adapter Pattern) 是一种结构型设计模式&#xff0c;用于将不兼容的接口转换为另一种接口&#xff0c;以便系统间的协同工作。 功能&#xff1a; 适配器模式主要功能是将一个类的接口转换成客户端所期望的另一种接口&#xff0c;以满足…

Ubuntu18.04配置PX4开发环境

源文件下载 读者可以参考PX4中文维基百科&#xff0c;或者使用下面命令↓ git clone https://github.com/PX4/PX4-Autopilot.git --recursive 下载完成之后&#xff0c;执行脚本安装命令&#xff0c;PX4给我们提供了脚本安装模式 bash ./PX4-Autopilot/Tools/setup/ubuntu.sh …

快手内推(2024校招,社招)

校招 校招可以直接投递&#xff0c;如果想投递指定部门或岗位的可以私聊我。可以帮看简历和面试状态&#xff0c;加快推进。 内推码&#xff1a;vlxMTFNBS 专属内推链接&#xff1a;https://campus.kuaishou.cn/#/campus/jobs?codevlxMTFNBS 社招 社招内推私聊&#xff0c;可…

(链表) 剑指 Offer 25. 合并两个排序的链表 ——【Leetcode每日一题】

❓剑指 Offer 25. 合并两个排序的链表 难度&#xff1a;简单 输入两个递增排序的链表&#xff0c;合并这两个链表并使新链表中的节点仍然是递增排序的。 示例1&#xff1a; 输入&#xff1a;1->2->4, 1->3->4 输出&#xff1a;1->1->2->3->4->4 …

antdv Select dropdownRender Input 不能输入的问题

简言之&#xff1a;外层套div&#xff0c;然后利用Select的open属性。直接上代码&#xff1a; <template><a-form-item-rest><div click"selOpen !selOpen"><Selectv-model:value"xxx"placeholder"请选择":options"g…

C#,中国福利彩票《刮刮乐》的数学算法(01)——幸运123

1 中国福利彩票 中国福利彩票始于1987年7月27日&#xff0c;以“团结各界热心社会福利事业的人士&#xff0c;发扬社会主义人道主义精神&#xff0c;筹集社会福利资金&#xff0c;兴办残疾人、老年人、孤儿福利事业和帮助有困难的人”、即“扶老、助残、救孤、济困”为宗旨。随…

python面试宝典1

目录标题 python基础1、代码中修改不可变数据会出现什么问题&#xff1f;什么异常&#xff1f;2、a1,b2,不用中间变量交换 a 和 b 的值&#xff1f;3、print调用python中底层的什么方法&#xff1f;4、理解下面代码&#xff0c;结果输出5、对input()函数的理解6、理解代码&…

Filebeat学习笔记

Filebeat基本概念 简介 Filebeat是一种轻量级日志采集器&#xff0c;内置有多种模块&#xff08;auditd、Apache、Nginx、System、MySQL等&#xff09;&#xff0c;针对常见格式的日志大大简化收集、解析和可视化过程&#xff0c;只需一条命令即可。之所以能实现这一点&#…

算法与数据结构(三)--栈

一.栈的基本概念 栈是一种特殊的表&#xff0c;这种表只在表首进行插入和删除操作。 因此&#xff0c;表首对于栈来说具有特殊的意义&#xff0c;称为栈顶。相应的&#xff0c;表尾称为栈底。不含任何元素的栈称为空栈。 栈的修改遵循后进先出的原则&#xff0c;Last In First…

GDB详解

GDB调试 启动gdb调试的方法 一般有三种方式&#xff1a; gdb filenamegdb attach pidgdb filename corename 方法一 直接调试目标程序 gdb filename filename就是需要启动调试的程序文件名&#xff0c;直接gdb启动一个程序进行调试&#xff0c;也就是说这个程序还没有启动…

【PostgreSQL内核学习(八)—— 查询执行(查询执行策略)】

查询执行 查询执行概述查询执行策略可优化语句和数据定义语句四种执行策略策略选择实现Portal执行的过程 声明&#xff1a;本文的部分内容参考了他人的文章。在编写过程中&#xff0c;我们尊重他人的知识产权和学术成果&#xff0c;力求遵循合理使用原则&#xff0c;并在适用的…

解决容器内无法安装vim

用docker创建了一个容器&#xff0c;需要在容器内修改配置文件&#xff0c;突然发现vim竟然不能用&#xff0c;我直接一个apt-get install vim想解决的时候&#xff0c;发现竟然下载不了 看了网上一些文章发现还是源的问题&#xff1a; 从阿里云找到的源&#xff1a; deb htt…

数据可视化(2)

1.柱状图 #柱状图 #bar(x,height,width,*,aligncenter,**kwargs) #height柱子的高度&#xff0c;即y轴上的数据 #width数组的宽度&#xff0c;默认值0.8 #*表示后面的参数为匿名关键字&#xff0c;必须传入参数 #kwargs关键字参数x[1,2,3,4,5] height[random.randint(10,100)f…

linux 系统安装zsh

Linux下安装zsh和oh-my-zsh 1. 安装zsh sudo apt-get update # 对依赖进行更新 sudo apt-get install zsh # 使用apt命令进行安装 chsh -s /bin/zsh #将zsh替换为你的默认shell 2. 安装git sudo apt-get install git # 后续需要使用git安装oh-my-zsh 3. 安装oh-my-zsh wget ht…
最新文章