• ECNU 2031 绝对值排序


    EECNU 2031 绝对值排序

    链接

    https://acm.ecnu.edu.cn/problem/2031

    题目

    单点时限: 2.0 sec

    内存限制: 256 MB

    给你 个数,要求你把这 个数按照绝对值从小到大排序。

    多 ,处理直到文件结束。

    输入格式
    输入一个数 n,接下来一行是n 个整数 。

    输出格式
    排序后按照绝对值从小到大输出 n 个数,输出一行,每两个数字之间有个空格,最后一个数字后面没空格。

    样例
    input
    4
    -3 -4 1 2
    1
    10
    output
    1 2 -3 -4
    10

    思路

    正常的输入排序,只需要在排序的时候用绝对值进行即可,用数组或者线性表都行。

    代码

        public static void fun() {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
          int n = sc.nextInt();
          ArrayList<Integer> list = new ArrayList<>();
          for (int i = 0; i < n; i++) {
            int t = sc.nextInt();
            list.add(t);
          }
          list.sort(new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
              int a = Math.abs(o1);
              int b = Math.abs(o2);
              return a - b;
            }
          });
          for (int i=0;i<n;i++)
          {
            System.out.print(list.get(i));
            if(i!=n-1)
            {
              System.out.print(" ");
            }
          }
          System.out.println();
        }
      }
    
  • 相关阅读:
    php 0818
    php 0817
    python 0812
    python 0808
    python 0810
    php 0822
    python 0815
    python 0816
    微信浏览器内调取扫一扫
    linux下的socket基础编程
  • 原文地址:https://www.cnblogs.com/blogxjc/p/14438450.html
Copyright © 2020-2023  润新知