• Java 华为真题-新学校选址


    需求:

      为了解新学期学生暴涨的问题,小乐村要建立所新学校,考虑到学生上学安全问题,需要所有学生家到学校的距离最短。 假设学校和所有学生家都走在一条直线之上,请问学校建立在什么位置,能使得到学校到各个学生家的距离和最短。

    输入描述:

        第一行:整数n取值范围[1,1000],表示有n户家庭。

        第二行:一组整数m取值范围[0,10000],表示每户家庭的位置,所有家庭的位置都不相同。

    输出描述:

        一个整数,确定的学校的位置,如果有多个位置,则输出最小的。

     

    输入

    5

    0 20 40 10 30

    输出

    20

     

    编码:

    1. public class AddressNew {
    2. public static void main(String[] args) {
    3. Scanner sc = new Scanner(System.in);
    4. System.out.print("输入用户:");
    5. int n = sc.nextInt();
    6. sc.nextLine(); // 这里使用nextLine()来接收上面的'\n'
    7. System.out.print("输入" + n + "个所有家庭位置:");
    8. String[] strs = sc.nextLine().split(" ");
    9. //字符串数组转换成整数数组
    10. int[] arr = Arrays.asList(strs).stream().mapToInt(Integer::parseInt).toArray();
    11. //(1)排序
    12. Arrays.sort(arr);
    13. System.out.println("排序后数据:"+Arrays.toString(arr));
    14. //(2)最小距离(求中位数)
    15. int min = 0;
    16. //判断是偶数还是奇数,
    17. if (n % 2 == 0) {
    18. min = arr[n / 2 - 1];
    19. } else {
    20. min = arr[n/2];
    21. }
    22. System.out.println("最小距离:" + min);
    23. }
    24. }

    效果:

  • 相关阅读:
    5.静态库与动态库构建
    Linux网卡丢包分类整理(1)——硬件丢包
    Mysql 索引
    SaaSBase:什么是捷讯通信?
    QPainter绘图
    Linux操作系统 - 从概念上认识进程
    CMake教程 - basic point
    sqlServer如何实现分页查询
    golang 实现带令牌限流的JWT demo
    autoware之轮式里程计计算
  • 原文地址:https://blog.csdn.net/hlx20080808/article/details/132855264