【力扣】面试经典150题总结04-区间/栈
1.汇总区间(简单)
判断连续的范围,记录每个区间的首尾,存进list。
2.合并区间(中等)
先按照左端点排序,然后判断右端点是否和下个区间的左端点重合,重叠进行合并。
3.插入区间(中等)
判断插入区间和插入位置左右区间的关系,不🍌则直接插入,🍌则合并。
4.用最少数量的箭引爆气球(中等)
把气球所在区间以左端点进行排序,然后依次判断左边界是否大于当前组的右边界,不大于就对右边界进行维护,大于则箭数+1;
5.有效的括号(简单)
搞个栈成对就出,不成对就入栈,最后根据栈里是否有元素判断。
6.简化路径(中等)
用list记录“,. ..”,用Deque模拟栈。使用subString("/")分割字符串,只剩下文件名和“.”。遍历判断,不是list中的那几个,就是文件名,文件名入栈,如果是..代表返回上一层,则出栈顶。最后用String.join("/",deque)拼接。
7.最小栈(中等)
要常数时间找到最小,用辅助栈即可。每次入栈时,通过对比得到的最小值入辅助栈即可,每次出栈只需同步出辅助栈。
8.逆波兰表达式求值(中等)
是数字则存入栈中,是运算符则把栈钉两个数字计算后放回去。