Sunday, April 22, 2018

[LeetCode]Number of Atoms

Parsing的题目,只是实现稍微麻烦点,算法并不难。我们可以递归地处理括号,然后每一层用hashmap统计每一个原子的数量,之后再和上一层的merge起来。我们这里用stack来存每一层的统计结果,本质上和递推是一样的。假设输入string长度为m,时间复杂度O(n^2),虽然只需要O(n)的时间处理input string,但是对于每一次括号的统计结果的merge,其可能包含所有的atom,所以这一步最坏情况也是线性的。空间复杂度O(n),代码如下:


No comments:

Post a Comment