해결 방법:
성능 측면에서 이는 다음을 의미합니다.
기준 1의 경우:
최적으로 해결하려면:
이것이 효과가 있을 것으로 생각합니다. 알아낼 수 있는 방법은 단 하나입니다.
다음은 기준 2(1, 2 또는 3의 차이)를 식별하는 코드입니다.
let differFlag = true; let i = 1; while (differFlag && i
다음은 기준 1(모든 차이가 증가하거나 감소함)을 식별하는 코드입니다.
let differFlag = true; let i = 1; let differences = []; while (differFlag && i
안전한 신고를 캡처하는 최종 조건은 다음과 같습니다.
if ( differFlag && (differences.every((el) => el > 0) || differences.every((el) => el <p>전체적으로 내 알고리즘은 예제 입력에 대한 정답을 생성합니다.</p> <p>퍼즐 입력에도 똑같이 적용되나요??</p> <p>네에에에에에에에에에에에!!</p> <p>달콤해요!</p> <h3> 2부 </h3> <h4> 음... 쏴. </h4> <p>이렇게 하면 상황이 좀 복잡해집니다.</p> <p>보고서의 가능한 모든 순열을 확인하는 알고리즘은 피하고 싶습니다. 이를 위해서는 수백만 개의 보고서를 생성해야 합니다.</p> <p>첫 번째 좋은 소식은 다음과 같습니다.</p>
제가 입력한 퍼즐의 경우 순열을 확인할 필요가 없는 약 200개입니다.
그래도 800/1000은 순열을 완전히 탐색하기에는 여전히 많은 목록입니다.
솔직히 안전하지 않은 보고서의 각 순열에 대해 알고리즘 실행을 피할 수 있는 방법이 없습니다.
버머.
안전하지 않은 보고서의 각 숫자를 반복하는 루프를 추가할 시간입니다. 숫자를 제거한 다음 변경된 목록에서 합격 여부를 확인하세요.
각 후속 테스트 보고서에서 하나의 숫자를 복제하고 제거하기 위해 줄을 추가하여 while 루프를 복제했습니다.
코드가 훨씬 더 많습니다.
하지만 효과가 있어요! 퍼즐입력에 대한 정답을 생성해드려요!
질문:
실행해 볼까요...
흠, 실행이 되지만 파트 1 답변보다 약간 더 크다는 답변을 받았습니다. 틀린 것 같습니다.
제출해도 나쁘지 않겠죠????
그게 맞습니다 맞습니다!
신성한 연기!
정말 놀랍습니다!
그리고 정말 재미있습니다!
금별 4개가 3일차에 들어갑니다.
더욱 멋진 퍼즐을 만나보세요!
위 내용은 빨간 코 보고서의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!