979. 在二叉树中分配硬币
核心思想:递归。定义dfs(node),返回值为以当前节点为根节点的节点个数和硬币个数。
那么这棵树至少需要移入或者移出abs(coins-nodes)个硬币,也就是这么多步,然后累计它们的总和即可。
1136. 并行课程
核心思想:BFS,类似扩散,首先把没有prevCourse的统计出来,然后一轮一轮扩散,但是这里有个技巧就是用一个size来统计是否学完这些课程了。
759. 员工空闲时间
核心思想:排序,然后一个个比较。由于这题有Interval这个类,所以我们先预处理一下。然后排序,维护一个当前区间的最右值,如果start大于这个值,就统计一下结果,然后更新,如果小于等于这个值就直接更新一下边界即可。