7.15-Contest 41-小结

这次完全忘记参加了。

643. Maximum Average Subarray I

比较容易,直接计算 length 为 k 的 subarray 的平均值,扫一遍整个 array。只需要注意,每次向后移动的时候,减去移出的那个数,加上移进来的那个数,然后求平均。

636. Exclusive Time of Functions

可以使用 stack 来处理 nested function 的问题,实时计算对应 function 的运行时间并对其内部储存的 timestamp 进行更新。

644. Maximum Average Subarray II

这道题比较想到和暴力解法,就是使用 #643 的方法。实际上,可以通过二分查找的方式,将时间复杂度降低为 O(nlogn)
详细解释:leetcode

642. Design Search Autocomplete System

题目挺长的,但是其实挺简单的,不过实现起来很费时间,花了50分钟左右才写完。
其实就是建立一个 multi-way trie,然后每次输入的时候,查询 sub-trie 的所有可能单词,返回频率最高的。因为这里需要对每输入一个字母就要就行一次更新,所以我做了一些优化,在第一次输入字母的时候,就把所有可能的情况保存到了 heap 里面,之后只需要按最高频率依次输出即可,如果不满足要求,直接 skip 掉。

你可能感兴趣的:(7.15-Contest 41-小结)