LeetCode 406 키 에 따라 대열 재 구성

927 단어 Leetcode
순 서 를 어 지 럽 히 는 한 무리의 사람들 이 대열 에 서 있다 고 가정 하 다.모든 사람 은 하나의 정수 대 (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]]
해법 
이것 은 매우 재 미 있 는 문제 입 니 다. 적어도 생각 하 는 것 이 재 미 있 습 니 다. 생각 을 시작 할 때 생각 이 많 지 않 습 니 다. 여기 서 우 리 는 직접 링크 를 붙 입 시다.
class Solution:
    def reconstructQueue(self, people: List[List[int]]) -> List[List[int]]:
        person = {}
        for i in people:
            cdx,req = i[0], i[1]
            person.setdefault(cdx, [])
            person[cdx].append(req)
        res = []
        for i in sorted(person.keys(), reverse = True):
            person[i].sort()
            for j in person[i]:
                res.insert(j,[i,j])
        return res
        

좋은 웹페이지 즐겨찾기