当前位置:   article > 正文

48天笔试训练错题——day01

48天笔试训练错题——day01

目录

选择题

编程题


选择题

Java 的方法一般存储在方法区

编程题

1. 组队竞赛

简单来说,就是给你 3n 个人,让你分组,怎样分组才能达到水平最大值。

而水平值则是 一组(3个人) 中的第二大的值,比如: 1,2,4 的水平值是 2。

就拿示例来说吧。

所以按照上面的思路,我们就可以写代码了。

代码实现: 

  1. import java.util.*;
  2. // 注意类名必须为 Main, 不要有任何 package xxx 信息
  3. public class Main {
  4. public static void main(String[] args) {
  5. Scanner in = new Scanner(System.in);
  6. // 注意 hasNext 和 hasNextLine 的区别
  7. while (in.hasNextInt()) { // 注意 while 处理多个 case
  8. int n = in.nextInt();
  9. int[] arr = new int[3 * n];
  10. for (int i = 0; i < arr.length; i++) {
  11. arr[i] = in.nextInt();
  12. }
  13. // 用 long 是为了防止溢出
  14. long ret = getMaxLevel(arr, 0, arr.length - 2);
  15. System.out.println(ret);
  16. }
  17. }
  18. public static long getMaxLevel(int[] arr, int left, int right) {
  19. // 记得先排序
  20. Arrays.sort(arr);
  21. long ret = 0;
  22. while (left < right) {
  23. ret += arr[right];
  24. right -= 2;
  25. left++;
  26. }
  27. return ret;
  28. }
  29. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/864446
推荐阅读
相关标签
  

闽ICP备14008679号