LeetCode 636

Exclusive Time of Functions

  • Problem Description:
    记录每一函数运行时间,其中需要注意到当前函数start开始时,上一个函数可能还米有end。
    具体的题目信息:
    https://leetcode.com/problems/exclusive-time-of-functions/description/

  • Examples:

function id status(start/end) time
0 start 0
1 start 2
2 start 3
2 end 5
1 end 7
0 end 10
  • Solution:
class Solution {
public:vector<int> exclusiveTime(int n, vector<string>& logs) {vector<int> ans(n, 0);stack<int> id;// 栈用来存储每一条记录的id int prev;// prev用来记录上一条记录的时间戳 for (int i = 0; i < logs.size(); i++) {string num = "";string time = "";string status = "";int t1 = logs[i].find(":");int t2 = logs[i].rfind(":");// 对每一条记录进行处理,用num来记录id,用time来记录读取到的时间,用status来记录读取到的时间是起始时间还是终止时间 num = logs[i].substr(0, t1);time = logs[i].substr(t2+1,logs[i].length()-1-t2);status = logs[i].substr(t1+1, 1);int num_i = changeTime(num);int time_i = changeTime(time); if (status == "s") { if(!id.empty()) {//若本条记录的start time早于上一条记录的end time,则栈不为空,两条记录之间的时间包括在上一条记录的运行时间里面 ans[id.top()] += time_i-prev;}id.push(num_i);prev = time_i;} else {ans[id.top()] += time_i-prev+1;id.pop();prev = time_i+1;}}return ans;}// 自定义函数,用于将读取到的时间字符串转化成数字 int changeTime(string t) {int re = 0;for (int i = 0; i < t.length(); i++) {re = re*10+t[i]-'0';}return re;}
};

LeetCode 636 Exclusive Time of Functions相关推荐

  1. leetcode 636. Exclusive Time of Functions | 636. 函数的独占时间(Stack)

    题目 https://leetcode.com/problems/exclusive-time-of-functions/ 题解 类似于括号匹配问题,遍历 list,每一次来到新元素时,结算当前正在执 ...

  2. LeetCode636. Exclusive Time of Functions

    One-pass solution. During iterating through the input logs, there are 4 possible conditions: Previou ...

  3. LeetCode 636. 函数的独占时间(栈)

    文章目录 1. 题目 2. 解题 1. 题目 给出一个非抢占单线程CPU的 n 个函数运行日志,找到函数的独占时间. 每个函数都有一个唯一的 Id,从 0 到 n-1,函数可能会递归调用或者被其他函数 ...

  4. Java实现 LeetCode 636 函数的独占时间(栈)

    636. 函数的独占时间 给出一个非抢占单线程CPU的 n 个函数运行日志,找到函数的独占时间. 每个函数都有一个唯一的 Id,从 0 到 n-1,函数可能会递归调用或者被其他函数调用. 日志是具有以 ...

  5. 2022-3-29 Leetcode 636.函数的独占时间

    第一版,不会做,参考别人的. 学到的内容: C 库函数 int sscanf(const char *str, const char *format, -) 从字符串读取格式化输入. class So ...

  6. LinkedIn TAG

    1 [leetcode]243. Shortest Word Distance最短单词距离 Two Pointers 2 [leetcode]244. Shortest Word Distance I ...

  7. leetcode刷题规划

    LeetCode精华题目列表[刷题规划系列] – TuringPlanet 目录 算法题到底在考察什么? 题目列表 Array String Linked List Queue Stack Advan ...

  8. LeetCode 力扣算法题解汇总,All in One

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: https://fuxuemingzhu.cn 关键词:LeetCode,力扣,算法,题解,汇总,解析 把自己刷过的所有题目做一个整理, ...

  9. LeetCode All in One 题目讲解汇总(持续更新中...)

    原文地址:https://www.cnblogs.com/grandyang/p/4606334.html 终于将LeetCode的大部分题刷完了,真是漫长的第一遍啊,估计很多题都忘的差不多了,这次开 ...

最新文章

  1. 一些通用性的haproxy调优tips
  2. Linux 文件大小 文件夹大小 磁盘大小
  3. keras核心已转储_转储Keras-ImageDataGenerator。 开始使用TensorFlow-tf.data(第2部分)
  4. vue3.0 AntDesignVue2.0 table的rowkey报错问题解决方法
  5. 【开发工具之Spring Tool Suite】6、用Spring Tool Suite简化你的开发
  6. QOTD:Java线程与Java堆空间
  7. 基于mint-ui的城市选择3级联动
  8. 如何使柱状图左右展示_Excel多次层柱状图,让数据展示更清晰,简单五步就完成...
  9. 小程序引入UI 组件库
  10. ggplot2——双坐标轴?
  11. 西安电子科技大学计算机应用,西安电子科技大学计算机应用技术考研
  12. java加减乘除判断代码_JAVA实现精确的加减乘除代码
  13. 单片机——LED点阵
  14. 网站排名不好的解决方法
  15. 如何把云服务器恢复到最原始的状态
  16. flutter与android原生通信
  17. 12月14日:跟着猫叔写代码api中的增删改查
  18. 7-5 最佳情侣身高差c语言
  19. 2021年汉语高考成绩查询,2021年全国高考成绩查询入口,全国教育局高考成绩查询官网...
  20. 强化学习_蒙特卡罗与时序差分(Sarsa/Q-Learning)例子

热门文章

  1. 【汇编语言】32位汇编总结
  2. FCC首部电影《招邪》即将开拍 网友:很期待
  3. 基于Java的OPPO手机销售系统
  4. 【微信开发】玩转PHP 数组用法!
  5. 学计算机笔记本屏幕多大,现在笔记本电脑显示屏的主流尺寸是多大?
  6. SAP公司间STO里发货单过账后触发的IDoc报错 – Could not find code page for receiving system –
  7. Dynamics CRM - 如何通过 C# Plugin 给 Contact的 主键(FullName)赋值
  8. stlink灯一直闪
  9. mdp框架_强化学习-MDP(马尔可夫决策过程)算法原理
  10. 【ChatGPT】ChatGPT的未来发展趋势和机遇分析