这里有 n 门不同的在线课程,他们按从 1 到 n 编号。每一门课程有一定的持续上课时间(课程时间)t 以及关闭时间第 d 天。一门课要持续学习 t 天直到第 d 天时要完成,你将会从第 1 天开始。

给出 n 个在线课程用 (t, d) 对表示。你的任务是找出最多可以修几门课。

示例:

输入: [[100, 200], [200, 1300], [1000, 1250], [2000, 3200]]
输出: 3
解释:
这里一共有 4 门课程, 但是你最多可以修 3 门:
首先, 修第一门课时, 它要耗费 100 天,你会在第 100 天完成, 在第 101 天准备下门课。
第二, 修第三门课时, 它会耗费 1000 天,所以你将在第 1100 天的时候完成它, 以及在第 1101 天开始准备下门课程。
第三, 修第二门课时, 它会耗时 200 天,所以你将会在第 1300 天时完成它。
第四门课现在不能修,因为你将会在第 3300 天完成它,这已经超出了关闭日期。

提示:

  1. 整数 1 <= d, t, n <= 10,000 。
  2. 你不能同时修两门课程。

class Solution {
public:
    int scheduleCourse(vector<vector<int>>& courses) {
        int curTime = 0;
        priority_queue<int> q;
        sort(courses.begin(), courses.end(), [](vector<int>& a, vector<int>& b) {return a[1] < b[1];});
        for (auto course : courses) {
            curTime += course[0];
            q.push(course[0]);
            if (curTime > course[1]) {
                curTime -= q.top(); q.pop();
            }
        }
        return q.size();
    }
};

630. 课程表 III相关推荐

  1. LeetCode 807. 保持城市天际线 / 630. 课程表 III(贪心+优先队列)/ 851. 喧闹和富有(拓扑排序)

    807. 保持城市天际线 2021.12.13 每日一题 题目描述 给你一座由 n x n 个街区组成的城市,每个街区都包含一座立方体建筑.给你一个下标从 0 开始的 n x n 整数矩阵 grid ...

  2. 【数据结构与算法】之深入解析“课程表III”的求解思路与算法示例

    一.题目要求 这里有 n 门不同的在线课程,按从 1 到 n 编号,给你一个数组 courses,其中 courses[i] = [durationi, lastDayi] 表示第 i 门课将会持续上 ...

  3. C#LeetCode刷题-贪心算法

    贪心算法篇 # 题名 刷题 通过率 难度 44 通配符匹配 17.8% 困难 45 跳跃游戏 II 25.5% 困难 55 跳跃游戏 30.6% 中等 122 买卖股票的最佳时机 II C#LeetC ...

  4. 贪心(Greedy Algorithm)

    贪心(Greedy Algorithm) 贪心 44.通配符匹配 45.跳跃游戏 II 55.跳跃游戏 122.买卖股票的最佳时机II 134.加油站 135.分发糖果 179.最大数 277.搜寻名 ...

  5. 如何学好C语言--你的学渣朋友告诉你

    光说不练假把式,光练不说傻把式,又练又说真把式. 真实感受,不是我不想学,是我真的不知道我哪里不会啊和得怎么做啊?本文作者当初就是这么废掉的 推荐两个练习的网站 (一)C语言网 https://www ...

  6. LeetCode专题

    LeetCode解题笔记 前言 复习 树 数组专题 字符串专题 动规专题 哈希表 排序 每日一题 前言 前段时间因为考试等懈怠了,重新开始做题.决定专门开一篇博客迭代记录了,不然文章散乱. 339.除 ...

  7. LeetCode中的那些题

    目录 1. 两数之和 2. 两数相加 3. 无重复字符的最长子串 *******4.寻找两个有序数组的中位数(官方解答) : 5.最长回文子串(官方解答) 15. 三数之和 16. 最接近的三数之和 ...

  8. leetcode 转载

    转载: https://blog.csdn.net/love905661433/article/details/84980135 LeetCode 1- 100 1. 两数之和 : https://b ...

  9. 优先队列(priority queue)

    目录 一,优先队列 二,STL优先队列 三,二叉堆实现优先队列 四,二项堆实现优先队列 五,线段树实现优先队列 六,OJ实战 力扣 295. 数据流的中位数 一,优先队列 优先队列可以插入元素.查询最 ...

  10. Leetcode题目分类指南(单独刷题或学习算法书籍配合使用)

    Leetcode题目分类指南 笔者在学习<算法导论>同时,希望能够配合Leetcode的题目进行分类模块化练习,该分类为笔者自己根据做题学习经验,结合<算法导论>的内容,给出L ...

最新文章

  1. Vivado清理和压缩工程的方法
  2. GBRT(GBDT)(MART)(Tree Net)(Tree link)
  3. libevent -简单的异步IO介绍
  4. Java正则表达式入门
  5. 下一代大数据即时分析架构--IOTA架构
  6. ACOUG 联合创始人盖国强:万象更新,数据库技术和生态的发展演进
  7. vue实践06-项目实践
  8. 《软件构架实践》(六) —— 构架编档
  9. 在CentOS6.9中搭建HBase
  10. Cesium中HeadingPitchRoll
  11. docker 监控容器的cpu、内存、网络、io情况
  12. 基于node.js和oicq的qq机器人 制作回顾分析笔记
  13. 工业机器人图册 索罗门采夫_机械手控制电路 机电一体化毕业设计论文.doc
  14. fritzing元件太少_Arduino电路设计软件Fritzing
  15. java 调用本地播放器_Java调用本地播放器播放视频文件
  16. html雪花飘落效果,使用js实现雪花飘落效果
  17. codeforces每日5题(均1500)-第八天
  18. php正则判断数字和英文,PHP正则匹配中英文、数字及下划线的方法【用户名验证】...
  19. 09 在ubuntu中切换多终端的方法
  20. 合成大西瓜unity总结

热门文章

  1. java nmap集成_nmap为了开发方便 可以做简单的修改
  2. 重学Es6 Promise
  3. Content Delivery Network (CDN)
  4. Cannot complete this action,please try again. Correlation ID :bd640a9d-4c19-doff-2fe0-6ce1104b59ae
  5. 快速搭建MongoDB分片集群
  6. http服务器和application服务器区别
  7. 关于Excel导入SQLServer的说明
  8. GEF:应用示例列表
  9. dis的前缀单词有哪些_学好单词得靠词根词缀来帮忙
  10. 大数据概念思维导图_【数据整理】一份思维导图,学完Tableau Prep(下)