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

Leetcode 3494. Find the Minimum Amount of Time to Brew Potions

  • Leetcode 3494. Find the Minimum Amount of Time to Brew Potions
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3494. Find the Minimum Amount of Time to Brew Potions

1. 解题思路

这道题虽说算是搞定了,通过了全部的测试样例,不过还是很暴力的求解的,整体的算法复杂度还是 O ( N M ) O(NM) O(NM),应该只是勉勉强强没有超时吧,没想到啥更好的思路……

我这边的思路的话其实就是非常暴力的遍历求每一轮的最早开始的时间,显然,当前一轮最早的开始时间需要满足此时每一个人手上都是空闲的,即要求遍历每一个巫师时,满足条件当前一轮当中他们之前所有人完成工作的时间点不小于他完成上一轮工作的时间,即:
s t a r t j + ∑ k = 0 i − 1 s k i l l k × m a n a j ≥ s t a r t j − 1 + ∑ k = 0 i s k i l l k × m a n a j − 1 \mathop{start}_{j} + \sum\limits_{k=0}^{i-1}\mathop{skill}_k \times \mathop{mana}_j \geq \mathop{start}_{j-1} + \sum\limits_{k=0}^{i}\mathop{skill}_k \times \mathop{mana}_{j-1} startj+k=0i1skillk×manajstartj1+k=0iskillk×manaj1

由此,我们即可得到每一轮的最早开始时间,进而,我们即可求得最早的完成时间。

2. 代码实现

给出python代码实现如下:

class Solution:
    def minTime(self, skill: List[int], mana: List[int]) -> int:
        n, m = len(skill), len(mana)
        cumsum_skill = list(accumulate(skill, initial=0))
        st = [0 for _ in range(m)]
        for j in range(1, m):
            for i in range(n):
                st[j] += max(0, st[j-1] + cumsum_skill[i+1]*mana[j-1] - st[j] - cumsum_skill[i]*mana[j])
        return st[-1] + cumsum_skill[-1] * mana[-1]

提交代码评测得到:耗时14843ms,占用内存18.2MB。

相关文章:

  • 网络编程--服务器双客户端聊天
  • 论文阅读:2023 arxiv Multiscale Positive-Unlabeled Detection of AI-Generated Texts
  • 从零构建大语言模型全栈开发指南:第二部分:模型架构设计与实现-2.1.2多头注意力扩展与掩码机制(因果掩码与填充掩码)
  • Qt中通过QLabel实时显示图像
  • 数据分析处理库-Pandas
  • 2.1.项目管理前言
  • 除了setup的表达方法,vue3还有什么表达方法
  • MySQL 处理重复数据:保留一条与两条的实现方案
  • 鸿蒙harmonyOS:笔记 正则表达式
  • Cloudfare内网穿透配置
  • Java设计模式之中介者模式
  • YOLO11改进|全网首发|YOLO11中引入轻量级坐标注意力LCA
  • (UI自动化测试web端)第二篇:元素定位的方法_class定位
  • OpenCV平滑处理:图像去噪与模糊技术详解
  • LeetCode(704):二分查找
  • 【大模型科普】大模型:人工智能的前沿(一文读懂大模型)
  • Canal同步延迟和数据丢失优化方案
  • IBM ECM结合 第三方AI API 来实现文档分析和 RAG
  • 如何从后端实现页面跳转?
  • MLIR中Dialect的抽象层级 简介
  • 现场丨“影像上海”启幕:串联摄影、电影与当代艺术
  • 住宿行业迎“最火五一”:数千家酒店连续3天满房,民宿预订量创历史新高
  • 一金两银一铜!中国田径从柯桥望向世界大赛
  • 9米长林肯车开进安徽“皖南川藏线”致拥堵数小时,车主回应争议称配合调查
  • 辛涛任山东第一医科大学副校长,曾为“博士服务团”成员
  • 最火“五一”预订!小长假前两日多地接待游客量两位数增长,出境游订单井喷