HDU 5210
2016-07-07 16:43
246 查看
Description
WLD likes playing with numbers. One day he is playing with N integers. He wants to delete K integers from them. He likes diversity, so he wants to keep the kinds of different integers as many as possible after the deletion. But he is busy pushing, can you help him?
Input
There are Multiple Cases. (At MOST 100)
For each case:
The first line contains one integer N(0<N≤100).
The second line contains N integers a1,a2,...,aN(1≤ai≤N), denoting the integers WLD plays with.
The third line contains one integer K(0≤K<N).
Output
For each case:
Print one integer. It denotes the maximum of different numbers remain after the deletion.
Sample Input
4
1 3 1 2
1
Sample Output
3
Hint
if WLD deletes a 3, the numbers remain is [1,1,2],he’ll get 2 different numbers. if WLD deletes a 2, the numbers remain is [1,1,3],he’ll get 2 different numbers. if WLD deletes a 1, the numbers remain is [1,2,3],he’ll get 3 different numbers.
题意:输出一个n 然后输入一个 长度为n的数组,然后输入一个k ,如果k大于这个数组里面数字重复的数字就输出
System.out.println(n -num- (k - num));//num是数组不同数字的数字
反之直接输出这个数组的不同数字的个数
思路: 贪心 水题
WLD likes playing with numbers. One day he is playing with N integers. He wants to delete K integers from them. He likes diversity, so he wants to keep the kinds of different integers as many as possible after the deletion. But he is busy pushing, can you help him?
Input
There are Multiple Cases. (At MOST 100)
For each case:
The first line contains one integer N(0<N≤100).
The second line contains N integers a1,a2,...,aN(1≤ai≤N), denoting the integers WLD plays with.
The third line contains one integer K(0≤K<N).
Output
For each case:
Print one integer. It denotes the maximum of different numbers remain after the deletion.
Sample Input
4
1 3 1 2
1
Sample Output
3
Hint
if WLD deletes a 3, the numbers remain is [1,1,2],he’ll get 2 different numbers. if WLD deletes a 2, the numbers remain is [1,1,3],he’ll get 2 different numbers. if WLD deletes a 1, the numbers remain is [1,2,3],he’ll get 3 different numbers.
题意:输出一个n 然后输入一个 长度为n的数组,然后输入一个k ,如果k大于这个数组里面数字重复的数字就输出
System.out.println(n -num- (k - num));//num是数组不同数字的数字
反之直接输出这个数组的不同数字的个数
思路: 贪心 水题
import java.util.Scanner; public class Main{ private static int n = 0, k = 0, num = 0; private static int[] array; private static int[] resArray; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { num = 0; n = scanner.nextInt(); array = new int ; resArray = new int ; for (int i = 0; i < n; i++) { int temp = scanner.nextInt(); if (judge(temp)) { array[i] = temp; } else { resArray[i] = temp; num++; } } k = scanner.nextInt(); if (k <= num) { System.out.println(n - num); } else { System.out.println(n -num- (k - num)); } } scanner.close(); } private static boolean judge(int x) { for (int i = 0; i < array.length; i++) { if (array[i] == x) { return false; } } return true; } }
相关文章推荐
- PowerShell 所需状态配置 (DSC) overview
- PowerShell 所需状态配置 (DSC) overview
- Tcp连接的建立与终止
- WINDOWS API 函数(超长,值得学习)
- lintcode:形状工厂
- jqgird 设置多选 只能选中 最后一行 选不中鼠标点击的一行
- UI里面excel数据上传并解析的例子(CSV格式)
- SQL Server的优化
- 动态规划
- Android开发之Intent.Action
- MySQL传智播客--Lession25-Lession30笔记
- android Toolbar的封装
- Nodejs中关于类的创建
- windows共享文件删除记录审核
- 结构体和类的区别
- HDU4403 dfs
- EditText焦点的问题。
- 播布客
- Swift之控件-UIlabel
- 【ArcGis for javascript从零开始】之一 ArcGis加载天地图