leetcode-堆和栈
优先队列的用法
215,347
PriorityQueue<Integer> q = new PriorityQueue<>() 从小到大排列
PriorityQueue<Integer> q = new PriorityQueue<>(Collections.reverseOrder());
q.add():添加元素
q.peek():第一个元素
q.poll():去除并返回第一个元素
代表题目:295
栈
使用双端队列
Deque<Character> st = new ArrayDeque<>();
st.peek()
st.pop()
st.push()
st.isEmpty()
代表题目20,155,394
739,84单调栈!
快速查找
自己犯的错误的地方,更新边界的时候,要设置清楚!
l与r相等时的情况,当l==r时说明,l的左边全都大于或等于他,r的右边全都小于或等于他,所以这个位置就是要找的位置!
总结
字符串处理
for (char c : s.toCharArray()) {}
类里面的变量声明
private Stack<Integer> stack;

浙公网安备 33010602011771号