Advertisement

根据身高分队列

阅读量:

假设有若干人随机排列成一行队列。每个人的信息由一组整数对(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]]
    
    
      
      
      
      
      
    
复制代码
    /** * 解题思路:先排序再插入
     * 1.排序规则:按照先H高度降序,K个数升序排序
     * 2.遍历排序后的数组,根据K插入到K的位置上
     * * 核心思想:高个子先站好位,矮个子插入到K位置上,前面肯定有K个高个子,矮个子再插到前面也满足K的要求
     * * @param people
     * @return
     */
    
        // [7,0], [7,1], [6,1], [5,0], [5,2], [4,4]
        // 再一个一个插入。
        // [7,0]
        // [7,0], 

全部评论 (0)

还没有任何评论哟~