队列
Charlesjjc
这个作者很懒,什么都没留下…
展开
-
堆排序(HeapSort)
趁着昨天写了一个前k个最高频元素,用到了堆排序O(nlogn),复习一下。 class Solution { public void heapSort(int[] arr){ buildMaxHeap(arr); //把最大值放到末尾,len--,再将最大值放到末尾,len--,形成一个升序的arr数组,完成heapsort for(int i = arr.length - 1;i > 0;i--) { swap(ar原创 2021-07-26 12:32:00 · 68 阅读 · 0 评论 -
leetcode347.前k个高频元素
https://leetcode-cn.com/problems/top-k-frequent-elements/ class Solution { public int[] topKFrequent(int[] nums, int k) { int[] res = new int[k]; HashMap<Integer,Integer> map = new HashMap<>(); for(int num:nums){原创 2021-07-26 02:26:56 · 109 阅读 · 0 评论 -
leetcode239.滑动窗口最大值
https://leetcode-cn.com/problems/sliding-window-maximum/ 用单调队列来做,学习到了单调队列!终于遇到hard了,原来都是套路 class Solution { public int[] maxSlidingWindow(int[] nums, int k) { MyQueue myQueue = new MyQueue(); if(nums.length == 1) return nums;原创 2021-07-26 00:45:09 · 84 阅读 · 0 评论 -
leetcode150.逆波兰表达式求值
https://leetcode-cn.com/problems/evaluate-reverse-polish-notation/ class Solution { public int evalRPN(String[] tokens) { Set<String> set = new HashSet<>(); Deque<String> stack = new LinkedList<>(); set原创 2021-07-25 17:32:47 · 108 阅读 · 0 评论 -
leetcode1047.删除字符串中的所有相邻重复字符
https://leetcode-cn.com/problems/remove-all-adjacent-duplicates-in-string/ class Solution { public String removeDuplicates(String s) { char[] arr = s.toCharArray(); Deque<Character> stack = new LinkedList<>(); for(原创 2021-07-25 16:45:19 · 120 阅读 · 0 评论 -
leetcode20.有效的括号
https://leetcode-cn.com/problems/valid-parentheses/ class Solution { public boolean isValid(String s) { Deque<Character> l = new LinkedList<>(); char[] arr = s.toCharArray(); Set<Character> left = new HashSet原创 2021-07-25 16:21:37 · 93 阅读 · 0 评论 -
leetcode255.用队列实现栈
https://leetcode-cn.com/problems/implement-stack-using-queues/ class MyStack { Deque<Integer> cur,pre; /** Initialize your data structure here. */ public MyStack() { cur = new LinkedList<>(); pre = new LinkedList&l原创 2021-07-25 15:51:34 · 96 阅读 · 0 评论 -
leetcode232.用栈来实现队列
https://leetcode-cn.com/problems/implement-queue-using-stacks/ 终于进入队列系列题目了,JAVA用Deque双端队列模拟栈,然后实现队列,先用O(n)算法 class MyQueue { Deque<Integer> in; Deque<Integer> out; private int front; /** Initialize your data structure here. *原创 2021-07-25 13:06:24 · 86 阅读 · 0 评论