- 通过使用array getO(1)来降低时间复杂度
比如说一个array[1,2,3,4,5], 然后你想创建一个list,这个list中有所有你想要的数字的index,比如说[0,2,4],然后你要拿到对应index的数值,也就是[1,3,5]。怎么能快速拿到呢,第一想到的是遍历数组的每一个值,然后判断你想要的值在不在这个list里,这样时间复杂度就很高,是O(m * n),假设m是想拿到的index数组的长度,n是初始array的长度。我们可以建立另一个数组int[] valid, 然后遍历这个你想要的index的list,然后赋值为1,我们的这个例子中valid[0] = 1, valid[2] = 1, valid[4] = 1。然后再遍历array,如果valid[index] == 1, 那么就取出来。这样的效率就是O(m + n)。 2. 括号匹配问题,什么语法分析器一般都用栈