您的位置:首页 > 其它

普及练习场 贪心 纪念品分组

2017-12-15 17:29 239 查看
题目链接

题意理解

将纪念品按照价格排序,从左到右是由低到高的顺序。然后根据价格低的进行匹配,从右往左找价格最高的可以与价格低的组成一组的纪念品。

代码

import java.util.Arrays;
import java.util.Scanner;

public class Main {

public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int w = scanner.nextInt();
int n = scanner.nextInt();
int[] p = new int
;
for(int i = 0; i < n; i++) {
p[i] = scanner.nextInt();
}
scanner.close();
Arrays.sort(p);
int left = 0;
int right = n - 1;
int missNum = 0;
int groupNum = 0;
while(left < right) {
while(p[left] + p[right] > w) {
right--;
missNum++;
}
if(left != right) {
groupNum++;
left++;
right--;
}
if(left == right) {
missNum++;
}
}
System.out.println(groupNum + missNum);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: