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;

posted @ 2025-05-08 22:57  keepsoft123  阅读(14)  评论(0)    收藏  举报