LeetCode 636 Exclusive Time of Functions
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相关推荐
- leetcode 636. Exclusive Time of Functions | 636. 函数的独占时间(Stack)
题目 https://leetcode.com/problems/exclusive-time-of-functions/ 题解 类似于括号匹配问题,遍历 list,每一次来到新元素时,结算当前正在执 ...
- LeetCode636. Exclusive Time of Functions
One-pass solution. During iterating through the input logs, there are 4 possible conditions: Previou ...
- LeetCode 636. 函数的独占时间(栈)
文章目录 1. 题目 2. 解题 1. 题目 给出一个非抢占单线程CPU的 n 个函数运行日志,找到函数的独占时间. 每个函数都有一个唯一的 Id,从 0 到 n-1,函数可能会递归调用或者被其他函数 ...
- Java实现 LeetCode 636 函数的独占时间(栈)
636. 函数的独占时间 给出一个非抢占单线程CPU的 n 个函数运行日志,找到函数的独占时间. 每个函数都有一个唯一的 Id,从 0 到 n-1,函数可能会递归调用或者被其他函数调用. 日志是具有以 ...
- 2022-3-29 Leetcode 636.函数的独占时间
第一版,不会做,参考别人的. 学到的内容: C 库函数 int sscanf(const char *str, const char *format, -) 从字符串读取格式化输入. class So ...
- LinkedIn TAG
1 [leetcode]243. Shortest Word Distance最短单词距离 Two Pointers 2 [leetcode]244. Shortest Word Distance I ...
- leetcode刷题规划
LeetCode精华题目列表[刷题规划系列] – TuringPlanet 目录 算法题到底在考察什么? 题目列表 Array String Linked List Queue Stack Advan ...
- LeetCode 力扣算法题解汇总,All in One
作者: 负雪明烛 id: fuxuemingzhu 个人博客: https://fuxuemingzhu.cn 关键词:LeetCode,力扣,算法,题解,汇总,解析 把自己刷过的所有题目做一个整理, ...
- LeetCode All in One 题目讲解汇总(持续更新中...)
原文地址:https://www.cnblogs.com/grandyang/p/4606334.html 终于将LeetCode的大部分题刷完了,真是漫长的第一遍啊,估计很多题都忘的差不多了,这次开 ...
最新文章
- 一些通用性的haproxy调优tips
- Linux 文件大小 文件夹大小 磁盘大小
- keras核心已转储_转储Keras-ImageDataGenerator。 开始使用TensorFlow-tf.data(第2部分)
- vue3.0 AntDesignVue2.0 table的rowkey报错问题解决方法
- 【开发工具之Spring Tool Suite】6、用Spring Tool Suite简化你的开发
- QOTD:Java线程与Java堆空间
- 基于mint-ui的城市选择3级联动
- 如何使柱状图左右展示_Excel多次层柱状图,让数据展示更清晰,简单五步就完成...
- 小程序引入UI 组件库
- ggplot2——双坐标轴?
- 西安电子科技大学计算机应用,西安电子科技大学计算机应用技术考研
- java加减乘除判断代码_JAVA实现精确的加减乘除代码
- 单片机——LED点阵
- 网站排名不好的解决方法
- 如何把云服务器恢复到最原始的状态
- flutter与android原生通信
- 12月14日:跟着猫叔写代码api中的增删改查
- 7-5 最佳情侣身高差c语言
- 2021年汉语高考成绩查询,2021年全国高考成绩查询入口,全国教育局高考成绩查询官网...
- 强化学习_蒙特卡罗与时序差分(Sarsa/Q-Learning)例子
热门文章
- 【汇编语言】32位汇编总结
- FCC首部电影《招邪》即将开拍 网友:很期待
- 基于Java的OPPO手机销售系统
- 【微信开发】玩转PHP 数组用法!
- 学计算机笔记本屏幕多大,现在笔记本电脑显示屏的主流尺寸是多大?
- SAP公司间STO里发货单过账后触发的IDoc报错 – Could not find code page for receiving system –
- Dynamics CRM - 如何通过 C# Plugin 给 Contact的 主键(FullName)赋值
- stlink灯一直闪
- mdp框架_强化学习-MDP(马尔可夫决策过程)算法原理
- 【ChatGPT】ChatGPT的未来发展趋势和机遇分析