LeetCode每周五题_2024/01/01~2024/01/05
文章目录
- 1599. 经营摩天轮的最大利润 [2024/01/01]
- 题目
- 题解
- 466. 统计重复个数 [2024/01/02]
- 题目
- 题解
- 2487. 从链表中移除节点 [2024/01/03]
- 题目
- 题解
1599. 经营摩天轮的最大利润 [2024/01/01]
题目
- 1599. 经营摩天轮的最大利润
你正在经营一座摩天轮,该摩天轮共有 4 个座舱 ,每个座舱 最多可以容纳 4 位游客 。你可以 逆时针 轮转座舱,但每次轮转都需要支付一定的运行成本 runningCost 。摩天轮每次轮转都恰好转动 1 / 4 周。
给你一个长度为 n 的数组 customers , customers[i] 是在第 i 次轮转(下标从 0 开始)之前到达的新游客的数量。这也意味着你必须在新游客到来前轮转 i 次。每位游客在登上离地面最近的座舱前都会支付登舱成本 boardingCost ,一旦该座舱再次抵达地面,他们就会离开座舱结束游玩。
你可以随时停下摩天轮,即便是 在服务所有游客之前 。如果你决定停止运营摩天轮,为了保证所有游客安全着陆,将免费进行所有后续轮转 。注意,如果有超过 4 位游客在等摩天轮,那么只有 4 位游客可以登上摩天轮,其余的需要等待 下一次轮转 。
返回最大化利润所需执行的 最小轮转次数 。 如果不存在利润为正的方案,则返回 -1 。
题解
/*** @param {number[]} customers* @param {number} boardingCost* @param {number} runningCost* @return {number}*/
var minOperationsMaxProfit = function (customers, boardingCost, runningCost) {let remainder = 0; //等待人数let profit = 0; //盈利let orders = 0; //轮次let maxProfit = 0; //最大盈利let maxIndex = 0; //最大盈利轮次let profitOnce = 4 * boardingCost - runningCost; //一轮4个人盈利// 轮次游客for (let i = 0; i < customers.length; i++) { const customer = customers[i];// 运行一轮后剩余人数 const remainderPeople = remainder + customer - 4;if (remainderPeople > 0) {remainder = remainderPeople;const num = profit + profitOnce;maxProfit = Math.max(maxProfit, profit, num);if (maxProfit >= profit && num > profit) {maxIndex = orders + 1;}profit = num;} else {remainder = 0;const num = profit + (4 + remainderPeople) * boardingCost - runningCost;maxProfit = Math.max(maxProfit, profit, num);if (maxProfit >= profit && num > profit) {maxIndex = orders + 1;}profit = num;}orders++;}// 只需要让剩余人做完摩天轮while (remainder > 0) {if (remainder > 4) {const num = profit + profitOnce;maxProfit = Math.max(maxProfit, profit, num);profit = num;if (maxProfit >= profit) {maxIndex = orders + 1;}} else {const num = profit + remainder * boardingCost - runningCost;maxProfit = Math.max(maxProfit, profit, num);if (maxProfit > profit && profit > num) {maxIndex = orders;} else if (maxProfit > profit) {maxIndex = orders + 1;}profit = num;}remainder = remainder - 4;orders++;}return profit > 0 ? (maxIndex ? maxIndex : orders) : -1;
};
466. 统计重复个数 [2024/01/02]
题目
- 466. 统计重复个数
定义 str = [s, n] 表示 str 由 n 个字符串 s 连接构成。
例如,str == [“abc”, 3] ==“abcabcabc” 。
如果可以从 s2 中删除某些字符使其变为 s1,则称字符串 s1 可以从字符串 s2 获得。
例如,根据定义,s1 = “abc” 可以从 s2 = “abdbec” 获得,仅需要删除加粗且用斜体标识的字符。
现在给你两个字符串 s1 和 s2 和两个整数 n1 和 n2 。由此构造得到两个字符串,其中 str1 = [s1, n1]、str2 = [s2, n2] 。
请你找出一个最大整数 m ,以满足 str = [str2, m] 可以从 str1 获得。
题解
/*** @param {string} s1* @param {number} n1* @param {string} s2* @param {number} n2* @return {number}*/
var getMaxRepetitions = function (s1, n1, s2, n2) {let indexMap = new Map();let countS1 = 0,countS2 = 0;let s2p = 0;while (countS1 < n1) {let prev = indexMap.get(s2p);if (!prev) {indexMap.set(s2p, [countS1, countS2]);} else {// 循环节 下一个s1 对应的 s2p 索引有相同时// 循环节循环的次数 向下取整let t = ((n1 - prev[0]) / (countS1 - prev[0])) | 0;countS2 = prev[1] + t * (countS2 - prev[1]);countS1 = prev[0] + t * (countS1 - prev[0]);// 清楚之前的循环记录indexMap.clear();// 整除if (countS1 === n1) break;}// 循环s1for (let i = 0; i < s1.length; i++) {if (s1[i] === s2[s2p]) {s2p++;if (s2p === s2.length) {s2p = 0;countS2++;}}}countS1++;}return (countS2 / n2) | 0;
};
2487. 从链表中移除节点 [2024/01/03]
- 2487. 从链表中移除节点
题目
给你一个链表的头节点 head 。
移除每个右侧有一个更大数值的节点。
返回修改后链表的头节点 head 。
题解
/*** Definition for singly-linked list.* function ListNode(val, next) {* this.val = (val===undefined ? 0 : val)* this.next = (next===undefined ? null : next)* }*//*** @desc 反转链表* @param {ListNode} head*/
var reverseList = function(head) {let prev = null;let curr = head;while(curr){let nextCurr = curr.next;curr.next = prev;prev = curr;curr = nextCurr;}return prev;
};/*** @param {ListNode} head* @return {ListNode}*/
var removeNodes = function(head) {head = reverseList(head);let maxVal = 0;let newList = new ListNode(0);let newHead = newList;let curr = head;while(curr){if(curr.val>=maxVal){newHead.next = curr;newHead = newHead.next;maxVal = curr.val;}curr=curr.next;}newHead.next =null;return reverseList(newList.next)
}
相关文章:
LeetCode每周五题_2024/01/01~2024/01/05
文章目录 1599. 经营摩天轮的最大利润 [2024/01/01]题目题解 466. 统计重复个数 [2024/01/02]题目题解 2487. 从链表中移除节点 [2024/01/03]题目题解 1599. 经营摩天轮的最大利润 [2024/01/01] 题目 1599. 经营摩天轮的最大利润 你正在经营一座摩天轮,该摩天轮共…...
【华为OD机试真题2023CD卷 JAVAJS】抢7游戏
华为OD2023(C&D卷)机试题库全覆盖,刷题指南点这里 抢7游戏 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: A、B两个人玩抢7游戏,游戏规则为A先报一个起始数字X(10<起始数字<10000),B报下一个数字Y(X-Y<3),A再报一个数字Z(Y-Z<3),以此类推,直…...
14.7-时序反馈移位寄存器建模
时序反馈移位寄存器建模 1,阻塞赋值实现的LFSR,实际上并不具有LFSR功能1.1.1,RTL设计,阻塞赋值1.1.2,tb测试代码1.1.3,波形仿真输出,SIM输出,没实现LFSR1.2.1,RTL设计&am…...
【设计模式】二十一.行为型模式之状态模式
状态模式 一. 说明 状态模式通常描述一个类不同行为的多个状态变更,对象的行为依赖它的状态,它是一种行为型模式。 状态模式可以用来消除代码中大量的if-else结构,它明确对象是有状态的、对象的不同状态对应的行为不一样、行为之间是可以切…...
微服务实战系列之Dubbo(下)
前言 眼看着2023即将走远,心里想着似乎还有啥,需要再跟各位盆友叨叨。这不说曹操,曹操就来了。趁着上一篇Dubbo博文的余温尚在,博主兴匆匆地“赶制”了Dubbo的下集,以飨读者。 上一篇博主依然从Dubbo的内核出发&#…...
《剑指offer》数学第二题:求1+2+3+...+n
题目描述: 求123...n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。思路: 我们可以用递归和短路运算符来进行运算,具体代码如下。 代码实现: pac…...
阿里云服务器3M固定带宽速度快吗?
阿里云服务器3M固定带宽是什么意思?速度快吗?3M固定带宽是指云服务器的公网带宽,用于在外网提供服务的,3M带宽的下载速度是384KB/秒,上传速度是1280KB/秒,对于个人博客或流量不多的企业官网速度还是挺快的&…...
美易官方:新年伊始美企狂发450多亿美元债券
新年伊始,美国企业疯狂发行了价值超过450亿美元的债券,创下了历史新高。这一数字比去年同期增长了约50%,凸显出美国企业在全球经济增长放缓的背景下,依然保持着强劲的融资需求和信心。美国企业借款人周三将发行近160亿美元高评级债…...
[云原生] Go web工作流程
web工作流程 Web服务器的工作原理可以简单地归纳为 客户机通过TCP/IP协议建立到服务器的TCP连接客户端向服务器发送HTTP协议请求包,请求服务器里的资源文档服务器向客户机发送HTTP协议应答包,如果请求的资源包含有动态语言的内容,那么服务器…...
【PostgreSQL】约束-主键
【PostgreSQL】约束链接 检查 唯一 主键 外键 排他 主键 主键(Primary Key)是数据库表中用于唯一标识每一行记录的字段。主键具有以下特点: 唯一性:每个主键值在表中是唯一的,不允许出现重复值。非空性:…...
IDEA 控制台中文乱码问题解决方法(UTF-8 编码)
设置 IDEA 编码格式 1:打开 IntelliJ IDEA>File>Setting>Editor>File Encodings,将 Global Encoding、Project Encoding、Default encodeing for properties files 这三项都设置成 UTF-8 2:将 vm option 参数改为: -…...
ssm基于BS的仓库在线管理系统的设计与实现论文
摘 要 如今的时代,是有史以来最好的时代,随着计算机的发展到现在的移动终端的发展,国内目前信息技术已经在世界上遥遥领先,让人们感觉到处于信息大爆炸的社会。信息时代的信息处理肯定不能用之前的手工处理这样的解决方法&#x…...
鸿蒙HarmonyOs:为什么不支持热更新?
学习了一段时间的鸿蒙开发,发现鸿蒙开发还是比较简单的,今天突然心血来潮,研究了一下鸿蒙热更新,最终得出的结论是鸿蒙暂时不支持热更新。 鸿蒙app开发主要是利用的ArkTs语言,ArkTs又是基于TypeScript语言的࿰…...
修改 Ubuntu 的配置
目录 一、修改地址 1. 修改本机IP 二、修改网关 1. 查看网关地址 2. 设置默认网关 三、重启网络 1. 重启网络 2. 刷新网络 四、修改主机名 1. 查看主机名 2. 修改主机名 一、修改地址 1. 修改本机IP sudo ifconfig en…...
虹科方案|从困境到突破:TigoLeap方案引领数据采集与优化
导读:在数字化工厂和智能制造的时代,数据已经成为优化机器和流程的关键。然而,如何高效地收集和处理这些数据,特别是在开发、部署和生产阶段,仍是企业面临的一大挑战。虹科TigoLeap平台,作为一款引领行业变…...
【教学类-43-02】20231226 九宫格数独2.0(n=9)(ChatGPT AI对话大师生成 回溯算法)
作品展示: 背景需求: 大4班20号说:我不会做这种(九宫格),我做的是小格子的, 他把手工纸翻过来,在反面自己画了矩阵格子。向我展示: “我会做这种!” 原来他…...
麒麟Kylin服务器版-破解root密码
一、单用户模式修改root密码 1.重启服务器系统后,将光标移动到第二项,按【e】键进入用户登录页面。 2.在【username】下方所在行输入root名称,【password】下方所在行输入密码Kylin123123后,进入编辑模式。代码如下: …...
cnPuTTY 0.80.0.1—PuTTY Release 0.80中文版本简单说明~~
2023-12-18 官方发布了PuTTY 0.80本次发布主要是针对Terrapin攻击(CVE-2023-48795)的修改发布。 更多详细的内容请查看PuTTY Change Log。 有关Terrapin攻击可用简单参考:警告!!!Terrapin攻击(CVE-2023-48795)~~~ 为了缓解此漏洞…...
向爬虫而生---Redis 拓宽篇1 < pipeline传输效率>
前言: 都知道,Redis是一款高效的内存数据库;每条命令都能很快响应,但是如果我们把服务器布在网络上,每次一个命令来回传送也是需要花费时间的; pipeline传输技术则是进一步提高Redis的性能和传输效率的一种方法。 正文: pipeline与普通命令发送方式的区别 Pipeline是一种机制&…...
Unity Hub 无法激活许可证
烦死了~ 😵💫 卸载UnityHub, 安装旧版本👈激活许可证, 如果出现旧版本无法识别Editor的情况需要卸载了再装最新版本的UnityHub...
数据分析求职-如何准备
今天咱们来聊一聊数据分析岗位求职到底需要准备什么?什么时间准备?该如何准备? 1. 求职时间轴 上图很清楚地把求职时间轴展示出来了,重复的话也不多说了,有两点想和同学们重点提下: 1)一定一定…...
新手能掌握 PyTorch 的填充技术:深入理解反射、复制、零值和常数填充
目录 torch.nn子模块详解 nn.ReflectionPad1d 参数说明: 形状(Shape): 使用示例: 注意事项: nn.ReflectionPad2d 参数说明: 形状(Shape): 使用示例…...
地震烈度速报与预警工程成功案例的经验分享 | TDengine 技术培训班第一期成功落地
近日,涛思数据在成都开设了“国家地震烈度速报与预警工程数据库 TDengine、消息中间件 TMQ 技术培训班”,这次培训活动共分为三期,而本次活动是第一期。其目标是帮助参与者深入了解 TDengine 和 TMQ 的技术特点和应用场景,并学习如…...
集群部署篇--Redis 集群动态伸缩
文章目录 前言一、redis 节点的添加1.1 redis 的实例部署:1.2 redis 节点添加:1.3 槽位分配:1.4 添加从节点: 二、redis 节点的减少2.1 移除主节点2.1.1 迁移槽位2.1.1 删除节点: 三、redis 删除节点的重新加入3.1 加入…...
excel中解决多行文本自动调整行高后打印预览还是显示不全情况
注意:此方法对于多行合并后单元格行高调整不适用,需要手动调整,如大家有简便方法,欢迎评论。 一、调整表格为自动调整行高 1)点击此处全选表格 2)在第一行序号单元格的下端,鼠标成黑十字时&am…...
策略模式+责任链模式配合Nacos实现参数校验链
1、业务场景 在SpringBoot项目中,针对接收的参数信息,根据需求要进行以下校验: 校验客户的apikey是否合法;校验请求的ip地址是否是白名单;校验短信的签名;校验短信的模板;校验手机号的格式合法…...
‘react-native‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
原因:没有下载react-native 解决下载react-native npm i -g react-native-cli...
c语言:求最小公倍数|练习题
一、题目 输入两个数,求两数的最小公倍数。 如图: 二、思路分析 1、先知道两个数里的最小值(比如:9和6,取6) 2、用2到6,5个数,同时除以9和6,得最小公约数:3 3、用9除33,6除32。得最小…...
嵌入式系统(二)单片机基础 | 单片机特点 内部结构 最小系统 电源 晶振 复位
上一篇文章我们介绍了嵌入式系统 嵌入式系统(Embedded System)是一种特定用途的计算机系统,它通常嵌入在更大的产品或系统中,用于控制、监测或执行特定的任务。这些系统通常由硬件和软件组成,旨在满足特定的需求&…...
NLP基础——中文分词
简介 分词是自然语言处理(NLP)中的一个基本任务,它涉及将连续的文本序列切分成多个有意义的单元,这些单元通常被称为“词”或“tokens”。在英语等使用空格作为自然分隔符的语言中,分词相对简单,因为大部分…...
不收费的小说网站排名/网页制作咨询公司
罗曼蒂克消亡史视听分析IT部门通常与一群称为业务分析师的人员一起工作。 这些人有责任与从事业务的人交谈,并将他们的需求转换为更多技术人员可以理解的格式,因为大多数原因,经理们认为开发人员无法说出与其他人相同的英语做。 IT总是因错误…...
wordpress搜索功能加强/直播回放老卡怎么回事
PHP文章摘要生成方法(函数)文章生成摘要的方法有多种,可以用JS在客户端生成,也可以在服务器端生成,当然更不排除在数据库中加一个摘要字段,在发布文章的时候自行设置。以下是在服务器端生成时的方法。我们在写BLOG时经常需要显示文…...
柳市建设网站/成人职业技能培训学校
CentOS版本网址:http://blog.csdn.net/huchunlinnk/article/details/45038025 一、用镜像自带的。 重点:安装linux虚拟机时,要选上有关php环境的所有选项 Apache相关、MySQL相关及PHP相关 1.启动Apache 在终端下输入以下命令后回车 service h…...
常州做网站公司有哪些/哪里能买精准客户电话
胎压监测 (15分) 小轿车中有一个系统随时监测四个车轮的胎压,如果四轮胎压不是很平衡,则可能对行车造成严重的影响。 taiya.JPG 让我们把四个车轮 —— 左前轮、右前轮、右后轮、左后轮 —— 顺次编号为 1、2、3、4。本题就请你编写一个监测程序&#x…...
药品网站建设/百度推广新手入门
(1)黄金分割法(0.618法) 基本思想: 它通过对试探点的函数值进行比较,使得包含极小点的区间不断缩短,当区间长度小到精度范围之内时,可以粗略地认为区间上各点的函数值均接近于…...
徐汇网站设计/企业查询免费
软件测试工程师,和开发工程师相比起来,虽然前期可能不会太深,但是涉及的面还是比较广的。前期面试实习生或者一年左右的岗位,问的也主要是一些基础性的问题比较多。涉及的知识主要有MySQL数据库的使用、Linux操作系统的使用、软件…...