赞
踩
目录
Java 的方法一般存储在方法区。
简单来说,就是给你 3n 个人,让你分组,怎样分组才能达到水平最大值。
而水平值则是 一组(3个人) 中的第二大的值,比如: 1,2,4 的水平值是 2。
就拿示例来说吧。
所以按照上面的思路,我们就可以写代码了。
代码实现:
- import java.util.*;
-
- // 注意类名必须为 Main, 不要有任何 package xxx 信息
- public class Main {
- public static void main(String[] args) {
- Scanner in = new Scanner(System.in);
- // 注意 hasNext 和 hasNextLine 的区别
- while (in.hasNextInt()) { // 注意 while 处理多个 case
- int n = in.nextInt();
- int[] arr = new int[3 * n];
- for (int i = 0; i < arr.length; i++) {
- arr[i] = in.nextInt();
- }
- // 用 long 是为了防止溢出
- long ret = getMaxLevel(arr, 0, arr.length - 2);
- System.out.println(ret);
- }
- }
-
- public static long getMaxLevel(int[] arr, int left, int right) {
- // 记得先排序
- Arrays.sort(arr);
- long ret = 0;
- while (left < right) {
- ret += arr[right];
- right -= 2;
- left++;
- }
- return ret;
- }
-
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。