Appuim环境搭建 华为鸿蒙 树莓派USB wxRuby Cluster模式 ISP css tsql uitableview join methods cmake loam算法测试 menu 建造师报考条件 vue响应式 photoshop cs3 教程 sallenkey滤波器 matlab定义空矩阵 pr序列设置哪个好 idea整理代码格式 mysql合并结果集 centos查看python版本 js数组截取前5个 磁盘清理会误删东西吗 android网络请求 flutter优缺点 python类和对象 python简易教程 python例子 javadate java基础教学 java函数式接口 java入门学习 java时间类 java替换字符 java时间戳转换 java删除文件 java异常 java查看变量类型
当前位置: 首页 > 学习教程  > 编程语言

LeetCode题解(LCP08):剧情触发时间(Python)

2021/1/13 20:42:36 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

题目:原题链接(中等) 标签:二分查找 解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(NlogM)O(NlogM)O(NlogM) : nlen(requirements) ; mlen(increase)O(M)O(M)O(M)392ms (95.31%)Ans 2 (Python)Ans 3 (Python) 解法一&#x…

题目:原题链接(中等)

标签:二分查找

解法时间复杂度空间复杂度执行用时
Ans 1 (Python) O ( N × l o g M ) O(N×logM) O(N×logM) : n=len(requirements) ; m=len(increase) O ( M ) O(M) O(M)392ms (95.31%)
Ans 2 (Python)
Ans 3 (Python)

解法一:

class Solution:
    def getTriggerTime(self, increase: List[List[int]], requirements: List[List[int]]) -> List[int]:
        C = [0]
        R = [0]
        H = [0]
        for c, r, h in increase:
            C.append(C[-1] + c)
            R.append(R[-1] + r)
            H.append(H[-1] + h)

        ans = []
        for c, r, h in requirements:
            d1 = bisect.bisect_left(C, c)
            d2 = bisect.bisect_left(R, r)
            d3 = bisect.bisect_left(H, h)
            d = max(d1, d2, d3)
            ans.append(d if d <= len(increase) else -1)

        return ans

本文链接: http://www.dtmao.cc/news_show_600422.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?