Top k Largest Numbers II
来源:互联网 发布:ubuntu 15.10 163源 编辑:程序博客网 时间:2024/05/21 10:29
Given an integer array, find the top k largest numbers in it.
Example
Given [3,10,1000,-99,4,100]
and k = 3
.
Return [1000, 100, 10]
.
求解最大k使用最小堆,求解最小值,使用最大堆;
java
public class Solution { /* * @param nums: an integer array * @param k: An integer * @return: the top k largest numbers in array */ public int[] topk(int[] nums, int k) { // write your code here Queue<Integer> queue = new PriorityQueue<>(k); int val = 0; for (int i = 0; i < nums.length; i++) { if (queue.size() < k) { queue.offer(nums[i]); } else { val = queue.peek(); if (val >= nums[i]) { continue; } else { queue.poll(); queue.offer(nums[i]); } } } int[] arr = new int[k]; for (int i = k - 1; i >= 0; i--) { arr[i] = queue.poll(); } return arr; }}
python
import heapqclass Solution: """ @param: nums: an integer array @param: k: An integer @return: the top k largest numbers in array """ def topk(self, nums, k): # write your code here heapq.heapify(nums) top = heapq.nlargest(k, nums) top.sort() top.reverse() return top
阅读全文
0 0
- Top k Largest Numbers II
- Top k Largest Numbers II
- Kth largest numbers ii
- FOJ 1664 Top K different numbers
- TOP K
- Top K
- Top K
- TOP K
- top k
- TOP-K
- Top K
- Top k
- 【Top K 问题】[Leetcode-215] Kth Largest Element in an Array 数组中第K大的数
- Kth Largest Element II
- Top N Numbers
- Return Largest Numbers in Arrays
- Top K algorithm
- Top K 算法详解
- 【阿里云RDS】从本地MySQL迁移到RDS for MySQL
- mysql explain-output 译文
- luaJIT字节码写入介绍(一)
- Spring cloud系列六 Ribbon的功能概述、主要组件和属性文件配置
- source insight 4乱码的问题及与keil混编的问题
- Top k Largest Numbers II
- break和continue在循环中的区别
- 1035神奇的数字9
- golang基础-互斥锁、读写锁
- Spring MVC 学习 —— <mvc:annotation-driven/>
- Program Size: Code=7044 RO-data=268 RW-data=112 ZI-data=8736解析
- 接口测试工具postman插件安装方法
- 读《你的时间80%都用错了》有感
- 新闻报道文体总结