4
这道题的思路是假设中位数的序号是k,那么只要按照从小到大的顺序找到k个数就行。因为不涉及到合并,那么假定一开始A、B数组都从k/2-1的下标开始比较,这样A数组提供了K/2个数,B数组也提供了K/2个数,较小的那个数组在k/2-1前面的元素就可以完全排除了,之后就更新k值,知道K值最后被更新为0,说明就找到了。
20
这道题的思路是遇到左括号就把右括号放进栈中,遇到右括号就比较当前括号和栈顶的是不是一致,一致就弹出,不一致就返回false,最后直接返回st.empty()的结果。
155
这道题的题意是让栈能够有一个返回最小值的接口,不是让重新写一个栈。思路是可以定义两个栈A、B,栈A正常操作,栈B专门放当前栈A的最小值。每次A入栈就在栈B中记录,弹出时栈A和栈B一起弹出,返回最小值直接返回栈B的top就行。