当前位置: 首页 > news >正文

帝国建设网站山东济南网站建设公司哪家好

帝国建设网站,山东济南网站建设公司哪家好,电商平台取名字大全,规避电子政务门户网站建设的教训描述 给定一个长度为 n 的可能有重复值的数组,找出其中不去重的最小的 k 个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4(任意顺序皆可)。 数据范围:0≤k,n≤10000,数组中每个数的大小0≤val≤1000 要…

描述

给定一个长度为 n 的可能有重复值的数组,找出其中不去重的最小的 k 个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4(任意顺序皆可)。

数据范围:0≤k,n≤10000,数组中每个数的大小0≤val≤1000

要求:空间复杂度 O(n) ,时间复杂度 O(nlogk)

示例1

输入:

[4,5,1,6,2,7,3,8],4 

返回值:

[1,2,3,4]

说明:

返回最小的4个数即可,返回[1,3,2,4]也可以        

示例2

输入:

[1],0

返回值:

[]

示例3

输入:

[0,1,2,1,2],3

返回值:

[0,1,1]

思路分析:

该题可以使用优先队列PriorityQueue来解决这个问题,

因为PriorityQueue添加进去的数据会默认自然排序,想以升序检索元素。在这种情况下,优先队列的头是最小的元素。检索到该元素后,下一个最小的元素将成为队列的头。

那么可以把input数组添加进去,然后循环取优先队列的头元素,添加进去集合re里面。

代码:

import java.util.*;public class Solution {/*** * @param input int整型一维数组 * @param k int整型 * @return int整型ArrayList*/public ArrayList<Integer> GetLeastNumbers_Solution (int[] input, int k) {ArrayList<Integer> re=new ArrayList<>();if(k==0||input.length==0) return re;PriorityQueue<Integer> q=new PriorityQueue<>();for(int i=0;i<input.length;i++){q.add(input[i]);}for(int i=0;i<k;i++){re.add(q.poll());}return re;}
}
http://www.yayakq.cn/news/684371/

相关文章:

  • seo的内容主要有哪些方面上海优化价格
  • 如何做网站微信小程序广告公司名字大全简单
  • 江宁营销型网站建设如何把动态图发网站做头像
  • 男生为女生做网站聊城做网站哪家好
  • 网站首页收录网站群建设需求
  • 阿里巴巴网站本土化建设扬州鼎盛开发建设有限公司网站
  • 网站开发技术是电子商务公司名字推荐
  • 淘宝联盟 做网站民治做网站多少钱
  • 佛山企业网站开发公司河南漯河昨天出现1例
  • 柳州做网站设计的公司网站如何引导
  • 推广网站名是什么网站如何做的看起来高大上
  • 中石建基础设施建设有限公司网站做钓鱼网站软件下载
  • 建立个网站专业网站制作全包
  • 湛江市企业网站seo点击软件微信小程序无代码开发平台
  • 找代做海报的网站男女做羞羞羞的事视频网站
  • 地方门户网站建设多少钱东阳做网站的公司
  • 设计一个网站需要多久网站发布到互联网上的步骤
  • 网站开发公司 广告词wordpress表单文件上传
  • 定机票最便宜网站建设网站模板怎么上传
  • 东莞网站建设乐云seo小红书怎么推广引流
  • 国外企业招聘网站淘宝客网站素材
  • 触屏网站meta标签网站设计建设定制
  • 百度站长平台删站设计上海2019
  • 电子商务网站中的信息技术阿里巴巴企业网站功能对比分析
  • 大型网站订单系统怎么设计网页设计基础实训的期末试卷和答案
  • 做网站一般收取多少钱网站设计培训班前台
  • 销售网站开发的背景python3网站开发
  • php网站开发面向对象教程泉州住房和城乡建设网站
  • 做免费视频网站违法吗注册小程序要多少钱
  • 专业网站是什么做网站前台和后台是什么