首页 > 其他分享 >leetcode636-函数的独占时间

leetcode636-函数的独占时间

时间:2022-08-15 23:25:11浏览次数:73  
标签:log 独占 int res 函数 stk time leetcode636

函数的独占时间

使用栈记录调用过程。如果log为start,那么就加入堆栈。如果是end,则分两种情况:

  1. 栈不为空,意味着存在递归调用,那么说明当前的函数占用了上一个函数的使用时间,所以上一个函数要减去相应的时间,然后给当前函数增加时间
  2. 栈为空,则直接增加当前函数的时间
class Solution {
    public int[] exclusiveTime(int n, List<String> logs) {
        Deque<int[]> stk = new ArrayDeque<>();
        int res[] = new int[n];
        for(String log : logs){
            int i0 = log.indexOf(":"), i1 = log.lastIndexOf(":");
            int index = Integer.parseInt(log.substring(0, i0)), time = Integer.parseInt(log.substring(i1+1));
            String op = log.substring(i0+1, i1);
            if(op.equals("start"))  stk.push(new int[]{index, time});
            else{
                int origin[] = stk.pop();
                if(!stk.isEmpty())  res[stk.peek()[0]] -= time-origin[1]+1;
                res[index] += time-origin[1]+1;
            }
        }
        return res;
    }
}

标签:log,独占,int,res,函数,stk,time,leetcode636
From: https://www.cnblogs.com/xzh-yyds/p/16590035.html

相关文章

  • 一些常用模板及函数(非竞赛)
    1.判断素数boolisPrime(intnum){ if(num==1)returnfalse; for(inti=2;i<=int(sqrt(num));i++) if(num%i==0) returntrue; returntrue;}......
  • pytest常用hook函数
    pytest_runtest_makereport说明:收集每个用例三个阶段的执行结果先执行when='setup'返回前置的执行结果然后执行when='call'返回用例步骤的执行结果最后执行when='t......
  • Python调用函数模板
    内容概要函数阶段语法结构定义调用返回值参数名称空间闭包函数装饰器(难点)递归函数、二分法、匿名函数、三元表达式、列表生成式迭代器、生成器常见内置函数函数......
  • 《初等数学概览,第一卷,实数与函数》习题选做 An Excursion through Elementary Mathema
    最近在看AntonioCaminhaMunizNeto的AnExcursionthroughElementaryMathematics,VolumeIRealNumbersandFunctions这本书,在这里随便写点课后练习。英语水平......
  • Balanced Tree (数学函数式子的处理)
    题目大意•求n个点组成的每个节点都满足左右子树大小相差至多1的二叉树个数.•0≤n<264.•关键词:计数2022-暑假-VirtualJudge(vjudge.net)思路:直接用......
  • Python-09_01函数参数的传递
    参数传递:在Python中,类型属于对象,变量是没有类型的:如Str=‘hello’;Str=50,在以上代码中,hello是string类型的,50是整型,而变量Str是没有类型的,它仅仅是一个对象的引用(指针),......
  • Python-09_02函数参数类型
    Python函数参数类型:必备参数、关键字参数、缺省参数、任意个数参数。必备参数须以正确的顺序传入函数,也叫做位置参数,即参数是通过位置进行匹配的,从左到右,依次进行匹配,这个......
  • 欧拉函数
    欧拉函数acwing873.欧拉函数定义欧拉函数phi(n)表示1~n中互质的数的个数(若n为质数,这phi(n)=n-1)欧拉函数公式已知则欧拉函数的公式:\[\varphi(n)=N(1-\frac{1......
  • Python-09函数基础、形参、实参
    Python3函数函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print......
  • flask中偏函数的应用
    函数在执行时,要带上所有必要的参数进行调用。但是,有时参数可以在函数被调用之前提前获知。这种情况下,一个函数有一个或多个参数预先就能用上,以便函数能用更少的参数进行调......