题目如下:

解题思路:本题和括号匹配问题有点像,用栈比较适合。一个元素入栈前,如果自己的状态是“start”,则直接入栈;如果是end则判断和栈顶的元素是否id相同并且状态是“start”,如果满足这两个条件,则说明这个元素和栈顶的元素是配对的,栈顶元素出栈。但是这个函数的的执行时间却不能简单的用end-start,因为这个函数里面可以还调用了其他函数,需要减去这些内部调用函数的执行时间,这里就需要引入一个新的变量来保存内部调用函数的执行时间。这个时间也很好求,函数完成配对后,栈顶元素出栈,只要把end-start累加到新的栈顶元素的内部调用函数执行时间即可。

代码如下:

class Solution(object):
def exclusiveTime(self, n, logs):
"""
:type n: int
:type logs: List[str]
:rtype: List[int]
"""
stack = []
res = [0] * n
for i in logs:
id,status,time = i.split(':')
if status == 'start' or len(stack) == 0 or stack[-1][0] != id:
stack.append([id,status,time,0])
else:
executetime = int(time) - int(stack[-1][2]) - int(stack[-1][3]) + 1
res[int(stack[-1][0])] += executetime
executerange = int(time) - int(stack[-1][2])
#ex = res[int(stack[-1][0])]
stack.pop(-1)
if len(stack) > 0:
stack[-1][3] += executerange + 1
return res

【leetcode】636. Exclusive Time of Functions的更多相关文章

  1. 【LeetCode】636. Exclusive Time of Functions 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 栈 日期 题目地址:https://leetcode ...

  2. 【LeetCode】895. Maximum Frequency Stack 解题报告(Python)

    [LeetCode]895. Maximum Frequency Stack 解题报告(Python) 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxueming ...

  3. 【LeetCode】Minimum Depth of Binary Tree 二叉树的最小深度 java

    [LeetCode]Minimum Depth of Binary Tree Given a binary tree, find its minimum depth. The minimum dept ...

  4. 【Leetcode】Pascal's Triangle II

    Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3, Return [1,3 ...

  5. 53. Maximum Subarray【leetcode】

    53. Maximum Subarray[leetcode] Find the contiguous subarray within an array (containing at least one ...

  6. 27. Remove Element【leetcode】

    27. Remove Element[leetcode] Given an array and a value, remove all instances of that value in place ...

  7. 【刷题】【LeetCode】007-整数反转-easy

    [刷题][LeetCode]总 用动画的形式呈现解LeetCode题目的思路 参考链接-空 007-整数反转 方法: 弹出和推入数字 & 溢出前进行检查 思路: 我们可以一次构建反转整数的一位 ...

  8. 【刷题】【LeetCode】000-十大经典排序算法

    [刷题][LeetCode]总 用动画的形式呈现解LeetCode题目的思路 参考链接 000-十大经典排序算法

  9. 【leetcode】893. Groups of Special-Equivalent Strings

    Algorithm [leetcode]893. Groups of Special-Equivalent Strings https://leetcode.com/problems/groups-o ...

随机推荐

  1. 6 October

    P1514 引水入城 题目描述 在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠.该国的行政区划十分特殊,刚好构成一个 \(N\) 行 \(\times M\) 列的矩形,如上图所示, ...

  2. Remote desktop manager共享账号

    因为多个远程机器,是会用了域账号进行登录的.而域账号的密码,三个月之后,密码强制过期 添加一个新的entry,类型是Credential Entry,然后选择用户名/密码 在remote deskto ...

  3. C#-概念-类库:类库

    ylbtech-C#-概念-类库:类库 1.返回顶部 1. 类库(Class Library)是一个综合性的面向对象的可重用类型集合,这些类型包括:接口.抽象类和具体类.类库可以解决一系列常见编程任务 ...

  4. 部署 H3C CAS E0306

    目录 目录 前文列表 H3C CAS CVK Cloud Virtualization Kernel 虚拟化内核平台 CVMCloud Virtualization Manager 虚拟化管理系统 C ...

  5. jmeter之非GUI启动与执行脚本

    启动jmeter的图形界面可以从dos窗口输命令启动:图形界面还是比较占资源的,这时候可以通过dos窗口来执行脚本,获取性能结果 目录 1.dos窗口启动jmeter图形界面 2.dos窗口执行脚本, ...

  6. (转载) linux下文件权限设置中的数字表示

    chmod ABC file 其中A.B.C各为一个数字,分别表示User.Group.及Other的权限. A.B.C这三个数字如果各自转换成由“0”.“1”组成的二进制数,则二进制数的每一位分别代 ...

  7. CentOS7和Ubuntu18.10下运行Qt Creator出现cannot find -lGL的问题的解决方案

    解决方法:缺少相应的opengl的库,需要安装opengl库 一.Ubuntu下解决Qt5.11.1 cannot find -lGL 有两种原因: 一种是没有按照libGL库,那么就安装: sudo ...

  8. python 转义json串

    import re body=r''' {"id":${BXbiztripinfoID_10},"msg":"1234测试审批${__UUID}&qu ...

  9. jmeter 把返回数据写到文件

    jmeter如何把返回数据写入到文件 作者:WhoisTester    2015-10-20 20:11 1. 首先我们可以使用 regular expression extractor 正则表达式 ...

  10. securecrt(CRT)导入会话

    securecrt是个非常流行的远程管理维护工具,支持fssh.ssh2.telnet等多种协议,也支持中文.设备管理多了,自行手工添加也是很累的活.偷下懒,从别人那复制下文件,倒入到自己的secur ...