에 대한은 "크래킹 코딩 인터뷰"책의 문제입니다. 실용적이고 심미적 인 이유로 각 사람은 자신보다 아래에있는 사람보다 짧고 가벼워 야합니다. 서커스에있는 각 사람의 높이와 무게를 감안할 때, 가능한 탑승 인원 수를 계산하는 방법을 작성하십시오. 알고리즘 "서커스 타워"여기
예 :
입력 :
(ht, wt): (65, 100) (70, 150) (56, 90) (75, 190) (60, 95) (68, 110)
출력 :
최장 탑 길이가 6이며, 위에서 아래로 포함한다 : 여기
(56, 90) (60,95) (65,100) (68,110) (70,150) (75,190)
부터 용액은 책 :
"이 문제를 해결할 때 우리는 그 문제가 실제로 다음과 같은 것을 이해할 수 있습니다.
우리는 항목 쌍의 목록을 가지고 있습니다. . 제 1 및 제 2 항목 모두 비 내림차순으로되도록 상기 긴 시퀀스를 찾기 "
를 I이 예 내놓았다 여기
{1,1}
{3,3} {7,2}
{6,4} {9,9} {8,5}
시퀀스의 값은 비에없는 감소하고있는 주문이지만 여전히 유효한 탑입니다. 그리고 같은 항목을 다른 타워로 구성하여 비 감축 순서로 항목을 구성하는 방법을 찾을 수 없습니다. 그런 방법이 없다고 생각합니다. 따라서 솔루션 이 올바르지 않습니다.
누락 된 것이 있습니까?
미리 감사드립니다.
값은 내림차순이 아닙니다. => 문제가되는 텍스트에 따라 정의에 따라 유효한 타워가 아닙니다. 그게 유효하다고 말하는 이유는 무엇입니까? – Blorgbeard
{3,3} -> {7,2}, 2 <3에 있으므로 유효한 타워가 아닙니다. – MooseBoys
@Blorgbeard {1,1}이 (가) {3,3} 및 {7,2}의 맨 위에 있습니다. {3,3}은 {6,4}와 {9,9}의 위에 앉고 {7,2}는 {9,9}와 {8,5}의 위에 앉습니다. – Daria