剑指offer系列55---最小的k个数
2024-10-16 05:00:30
【题目】 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
*【思路】排序,去除k后的数。
package com.exe11.offer;
import java.util.ArrayList;
import java.util.Collections;
/**
*【题目】 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
*【思路】排序,去除k后的数。
* @author WGS
*
*/
public class GetLeastKNumbers {
public ArrayList<Integer> getLeastKNumber(int[] nums,int K){
ArrayList<Integer> list=new ArrayList<>();
if(nums==null ||nums.length<=0 ||
K<1 || K>nums.length)
return list; for(int i=0;i<nums.length;i++){
list.add(nums[i]);
}
//2 排序
Collections.sort(list);
//3 去除K后数
while(list.size()>K){
list.remove(K);//一直删除第K个位置的数,直至list大小>K
}
return list; } public static void main(String[] args) {
GetLeastKNumbers g=new GetLeastKNumbers();
int[] nums=new int[]{4,5,1,6,2,7,3,8};
ArrayList<Integer> list=g.getLeastKNumber(nums, 4);
for (Integer integer : list) {
System.out.println(integer);
}
}
}
最新文章
- Ubuntu安装Gnome3
- PHP用curl伪造IP和来源
- 【RabbitMQ】HelloWorld
- [linux] 默认权限修改(umask)
- Sql Server按树形结构排序查询表记录
- [saiku] 集成单点登录
- 如何区分JS中的this?!
- Http请求和响应应用
- RT: TCP REUSEADDR or REUSEPORT
- [SHOI 2011]双倍回文
- 【English】20190429
- 在Linux(Centos7)上使用Docker运行.NetCore
- 手机QQ公众号亿级消息实时群发架构
- 【读书笔记】segment routing mpls数据平面-2
- 解释代码((n &; (n-1))== 0)的含义
- prev_permutation(a+1,a+n+1)
- 4412 uboot上手
- 「loj3058」「hnoi2019」白兔之舞
- JAVA list集合两种去重方法
- urllib2使用初探