저는 이 분야에 종사하지 않습니다. 저는 위의 문제에 직면했을 때 며칠 동안 저를 괴롭혔습니다.
단일 솔루션 아이디어를 제공하세요.
먼저 첫 번째 요소가 A인 배열을 찾아서 꺼내서 후보 배열로 이름을 지정합니다
그런 다음 후보 배열 중 하나를 선택한 다음 현재 배열과 결과 배열을 정의하여 [A,B] 및 [[A,B], [B,C]]와 같은 현재 앞면 및 뒷면 합계 결과를 저장합니다. , 물론 현재 배열을 사용할 필요는 없습니다. 여기서는 편의상 설명합니다.
그런 다음 [B,C]와 같이 첫 글자가 A인 배열을 알 때까지 arr을 반복합니다. 이 결과 배열은 [A,C]로 축소될 수 있습니다. 그런 다음 [B, C]를 결과 배열에 저장하고 arr에서 [B, C]를 삭제해야 합니다.
그럼 그룹핑 후 현재 배열을 길이 0으로 접으면 드래곤을 찾았다는 뜻이고, 그 결과를 출력할 수 있습니다.
만 찾을 수 없다면 [B, C]에 답이 없다는 의미이며 결과 배열과 현재 배열은 이전 단계로 돌아가고 [B, C]는 더 이상 arr에 추가되지 않습니다. 왜냐하면 그것은 답 중 하나가 될 수 없기 때문입니다. 그런 다음 이 과정을 계속 반복하세요.
이미지 포인트에 대한 설명은 [A, B, B, C, C, D]가 결과를 찾을 수 없다는 것을 발견하고 [A, B, B, C]로 돌아가서 찾을 수 없다는 것입니다. 계속해서 [ A, B]로 되돌아갑니다. 등.
끝까지 알아보세요.
다양한 해석이 있어도 완전히 같은 해결 방법입니다. 문제가 너무 많아요.
이것은 철저한 연습입니다...제가 생각할 수 있는 아이디어는 두 개의 끝을 선택하고 중앙을 향해 철저하게 검색하는 것입니다.각 가능성 쌍을 기록하고(잠겨 있어 반복적으로 선택할 수 없음에 유의) 끝 잡을 수 있다면 괜찮습니다 결과의 길이도 불확실하고, 순서도 불확실하니 이게 훨씬 복잡하네요...
재귀를 작성하는 데 시간이 좀 걸렸고 정리 논리를 사용했습니다. 문자가 한 번만 나타나면 해당 문자 쌍이 원본 데이터에서 제거됩니다.
단일 솔루션 아이디어를 제공하세요.
먼저 첫 번째 요소가 A인 배열을 찾아서 꺼내서 후보 배열로 이름을 지정합니다
그런 다음 후보 배열 중 하나를 선택한 다음 현재 배열과 결과 배열을 정의하여 [A,B] 및 [[A,B], [B,C]]와 같은 현재 앞면 및 뒷면 합계 결과를 저장합니다. , 물론 현재 배열을 사용할 필요는 없습니다. 여기서는 편의상 설명합니다.
그런 다음 [B,C]와 같이 첫 글자가 A인 배열을 알 때까지 arr을 반복합니다. 이 결과 배열은 [A,C]로 축소될 수 있습니다. 그런 다음 [B, C]를 결과 배열에 저장하고 arr에서 [B, C]를 삭제해야 합니다.
그럼 그룹핑 후 현재 배열을 길이 0으로 접으면 드래곤을 찾았다는 뜻이고, 그 결과를 출력할 수 있습니다.
만 찾을 수 없다면 [B, C]에 답이 없다는 의미이며 결과 배열과 현재 배열은 이전 단계로 돌아가고 [B, C]는 더 이상 arr에 추가되지 않습니다. 왜냐하면 그것은 답 중 하나가 될 수 없기 때문입니다. 그런 다음 이 과정을 계속 반복하세요.
이미지 포인트에 대한 설명은 [A, B, B, C, C, D]가 결과를 찾을 수 없다는 것을 발견하고 [A, B, B, C]로 돌아가서 찾을 수 없다는 것입니다. 계속해서 [ A, B]로 되돌아갑니다. 등.
끝까지 알아보세요.
다양한 해석이 있어도 완전히 같은 해결 방법입니다. 문제가 너무 많아요.
이것은 철저한 연습입니다...
제가 생각할 수 있는 아이디어는 두 개의 끝을 선택하고 중앙을 향해 철저하게 검색하는 것입니다.
각 가능성 쌍을 기록하고(잠겨 있어 반복적으로 선택할 수 없음에 유의) 끝 잡을 수 있다면 괜찮습니다
결과의 길이도 불확실하고, 순서도 불확실하니 이게 훨씬 복잡하네요...
재귀를 작성하는 데 시간이 좀 걸렸고 정리 논리를 사용했습니다. 문자가 한 번만 나타나면 해당 문자 쌍이 원본 데이터에서 제거됩니다.
으아악