在springboot程式中jackson自定義註解和欄位解析器
阿新 • • 發佈:2021-10-27
import java.util.PriorityQueue; public class Algorithm { public static void main(String[] args) { int[] arr = {3,2,4,5,6}; System.out.println(new KthLargest(3, arr).add(1)); } } class KthLargest { PriorityQueue<Integer> pq; int k; public KthLargest(int k, int[] nums) { /** * 建立最小堆,最多存放三個元素,每次新增新元素,和堆頂元素進行比較,堆頂元素就一直是第k大的元素 */ pq = new PriorityQueue<>(); this.k = k; for (int i = 0; i < nums.length; i++) { add(nums[i]); } } public int add(int val) { if (pq.size() < k){ pq.add(val); } else { if (val > pq.peek()){ pq.poll(); pq.add(val); } } return pq.peek(); } }
https://leetcode-cn.com/problems/kth-largest-element-in-a-stream/