zoukankan      html  css  js  c++  java
  • queue-reconstruction-by-height

    https://leetcode.com/problems/queue-reconstruction-by-height/
    
    // https://discuss.leetcode.com/topic/60394/easy-concept-with-python-c-java-solution/5
    // 先按照高度从大到小排,同样高度按人数从小到大排
    // 然后按照前面的人数,来进行插入
    
    import java.util.Arrays;
    import java.util.Comparator;
    import java.util.LinkedList;
    import java.util.List;
    
    public class Solution {
        public int[][] reconstructQueue(int[][] people) {
    
            Arrays.sort(people, new Comparator<int[]>() {
                @Override
                public int compare(int[] o1, int[] o2) {
                    return o1[0] == o2[0] ? o1[1] - o2[1] : o2[0] - o1[0];
                }
            });
    
            List<int[]> res = new LinkedList<>();
            for (int[] cur : people) {
                res.add(cur[1], cur);
            }
    
            return res.toArray(new int[people.length][]);
        }
        
        /*
        public static void main(String[] args) {
            // write your code here
            System.out.println("Hello");
            int[][] people = {{7,0}, {4,4}, {7,1}, {5,0}, {6,1}, {5,2}};
    
    
            Main mn = new Main();
            int[][] ret = mn.reconstructQueue(people);
            StringBuilder sb = new StringBuilder();
            for (int i=0; i<ret.length; i++) {
                for (int j=0; j<ret[0].length; j++) {
                    sb.append(ret[i][j]);
                    sb.append(',');
                }
                sb.append('|');
            }
            System.out.println(sb.toString());
    
        }
        */
    }

    注意这一句

    return res.toArray(new int[people.length][]);

    经过实验,填写 (new int[][2]) 或者 (new int[][]) 都是不行的。需要在前一个下标处填写。而填写的数值范围是0到length,再大再小都不行。在这个范围内,返回的结果都是一样的。

  • 相关阅读:
    算法图解——求Int整型数二进制中1的个数
    图解算法——句子逆序
    图解算法——反转字符串
    图解算法——整数倒置
    《图解算法》之狄克斯特拉算法
    图解算法——合并两个有序链表
    图解算法——括号匹配
    图解算法——两数之和
    #热烈庆祝我党成立100周年#
    jQuery全选反选
  • 原文地址:https://www.cnblogs.com/charlesblc/p/5920540.html
Copyright © 2011-2022 走看看