zoukankan      html  css  js  c++  java
  • 给定N个整数,乱序,分行打印每个数字和其位置


    import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;
    import java.util.TreeMap;

    /**
    * 给定N个整数,乱序,分行打印每个数字和其位置(空格分隔,数字可重复)
    * e.g.
    * input: -1,0,-1,3,2
    * output:
    * -1 0 2
    * 0 1
    * 2 4
    * 3 3
    */
    public class SortPrint {

    public static void main(String[] args) {
    int[] arr = new int[]{-1, 0, -1, 3, 2};
    sortPrint(arr);
    }

    private static void sortPrint(int[] arr) {
    if (arr == null || arr.length == 0) {
    return;
    }
    Map<Integer, List<Integer>> map = new TreeMap<>();
    int index = 0;
    for (int a : arr) {
    List<Integer> list;
    if ((list = map.get(a)) != null) {
    list.add(index);
    } else {
    list = new ArrayList<>();
    list.add(index);
    map.put(a, list);
    }
    index++;
    }
    if (!map.isEmpty()) {
    map.forEach((num, indexes) -> {
    System.out.print(num);
    indexes.forEach(idx -> {
    System.out.print(" ");
    System.out.print(idx);
    });
    System.out.println();
    });
    }
    }

    }

    /* 如有意见或建议,欢迎评论区留言;如发现代码有误,欢迎批评指正 */
  • 相关阅读:
    Firebase REST API
    python 获取一个网页里的a 标签
    python 抓一下 循环的访问也可以
    mezzanine 历险记
    django cms 5月第一弹
    数据中心虚拟化技术
    linux ftp 服务器 ,web 服务器 配置
    linux DHCP 服务器
    linux DNS 服务器 配置
    lib.form.php
  • 原文地址:https://www.cnblogs.com/laydown/p/13648761.html
Copyright © 2011-2022 走看看