前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LeetCode70|最小K个数

LeetCode70|最小K个数

作者头像
码农王同学
发布2020-10-14 10:34:21
3930
发布2020-10-14 10:34:21
举报
文章被收录于专栏:后端Coder

1,问题简述

设计一个算法,找出数组中最小的k个数。以任意顺序返回这k个数均可。

2,示例

代码语言:javascript
复制
示例:

输入:arr = [1,3,5,7,2,4,6,8], k = 4
输出:[1,2,3,4]
提示:

0 <= len(arr) <= 100000
0 <= k <= min(100000, len(arr))

 

3,题解思路

排序,优先级队列

4,题解程序

代码语言:javascript
复制
 
import java.util.Arrays;
import java.util.PriorityQueue;

public class SmallestKTest2 {
    public static void main(String[] args) {
        int[] arr = {1, 3, 5, 7, 2, 4, 6, 8};
        int k = 4;
        int[] smallestK = smallestK2(arr, k);
        for (int j : smallestK) {
            System.out.print(j + "\t");
        }
    }

    public static int[] smallestK(int[] arr, int k) {
        Arrays.sort(arr);
        int[] array = new int[k];
        if (k >= 0) {
            System.arraycopy(arr, 0, array, 0, k);
        }
        return array;
    }

    public static int[] smallestK2(int[] arr, int k) {
        PriorityQueue<Integer> priorityQueue = new PriorityQueue<>(k, Integer::compareTo);
        for (int j : arr) {
            priorityQueue.offer(j);
        }
        int[] array = new int[k];
        for (int i = 0; i < k; i++) {
            array[i] = priorityQueue.poll();
        }
        return array;
    }
}

5,题解程序图片版

6,总结

排序在整个工作中还是比较的常用的一种场景,排序的目的是为了更加高效的检索自己需要的数据,对于数据库优化,为什么要加索引,难道不是为了更加高效的检索自己需要的数据嘛,懂得排序就可以了。最近一段时间的输出文章都是自己之前做过的内容,自己打算将做过的题都整理成一篇篇文章进行梳理一下,喜欢看java的文章可以查看历史记录,本人写过Mybatis框架的系列文章,包括简单的增删改查,高级用法,都是工作中常用的,JDK源码也写了十几篇,MySQL文系列文章等都可以在历史文章进行查找的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农王同学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档