전체 순열을 반환하지 않고 모든 입력 순열에 지정된 핸들러를 적용하는 함수를 작성하고 싶습니다.
(go
에서)
배정 찾기:
으아아아테스트 케이스(간단):
으아아아findallpermutationapplyhandler()
는 순열을 찾아 각 조합에 지정된 핸들러를 적용합니다. n-1
레벨 (가장 최근 2개 레벨을 동시에) 을 캐시해야 합니다.
(일명, 공간 복잡성을 o(1)
或 o(n)
,甚至我猜 o(n^2)
더 좋게 만듭니다). .
i
是基于级别 i-1
때문에 그건 불가능해 보이는데요? 찾으시는 것 같네요Pandita Algorithm
이것은 사전순으로 배열의 모든 순열을 반복하는 간단한 방법입니다.
그러나 배열의 요소를 정렬할 수 있어야 합니다. 그렇지 않은 경우(일반 유형이기 때문에) 모든 배열 인덱스의 보조 배열을 만들고 해당 순열을 생성할 수 있습니다.
위 내용은 레벨 캐싱 없이 배열에 핸들러를 적용하시겠습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!