zoukankan      html  css  js  c++  java
  • 假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。

    注意:
    总人数少于1100人。

    示例

    输入:
    [[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]]

    输出:
    [[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]]

     
        public static void main(String[] args)  {
    
            List<Person> personList = new ArrayList<>();
            Person person = new Person();
            person.setHeight(7);
            person.setNum(0);
            personList.add(person);
    
            person = new Person();
            person.setHeight(4);
            person.setNum(4);
            personList.add(person);
    
            person = new Person();
            person.setHeight(7);
            person.setNum(1);
            personList.add(person);
    
            person = new Person();
            person.setHeight(5);
            person.setNum(0);
            personList.add(person);
    
            person = new Person();
            person.setHeight(6);
            person.setNum(1);
            personList.add(person);
    
            person = new Person();
            person.setHeight(5);
            person.setNum(2);
            personList.add(person);
    
    
            Collections.sort(personList, new Comparator<Person>() {
                @Override
                public int compare(Person o1, Person o2) {
                    if(o1.getHeight() == o2.getHeight()){
                        return o1.getNum() - o2.getNum();
                    }
                    return o2.getHeight() - o1.getHeight();
                }
            });
    
            List<Person> list = new LinkedList<>();
            for (Person p : personList) {
                list.add(p.getNum(),p);
            }
    
            System.out.println(list);
    
    
        }


    作者:A_Zeee
    链接:https://www.jianshu.com/p/1faee3c9d630
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    (floyd+DP) zoj 3027
    (树形DP) acdream 1028
    acdream 1032
    (BFS) acdream 1191
    (树形DP) bzoj 1060
    (状态压缩DP) poj 2978
    (DP) codeforces 358D
    (DP+二分) hdu 3433
    (最大生成树) hdu 3367
    hdoj 3501
  • 原文地址:https://www.cnblogs.com/dongma/p/13772617.html
Copyright © 2011-2022 走看看