>백엔드 개발 >PHP 튜토리얼 >하위 배열을 뒤집어 두 배열을 동일하게 만들기

하위 배열을 뒤집어 두 배열을 동일하게 만들기

王林
王林원래의
2024-08-05 19:35:49968검색

Make Two Arrays Equal by Reversing Subarrays

1460. 하위 배열을 뒤집어서 두 배열을 동일하게 만듭니다

쉬움

target과 arr의 길이가 같은 두 개의 정수 배열이 제공됩니다. 한 단계만 거치면 arr의 비어 있지 않은 하위 배열을 선택하여 되돌릴 수 있습니다. 여러 단계를 수행할 수 있습니다.

arr을 target과 동일하게 만들 수 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.

예 1:

  • 입력: 대상 = [1,2,3,4], arr = [2,4,1,3]
  • 출력: true
  • 설명: 다음 단계에 따라 arr을 target으로 변환할 수 있습니다.
    1. 역방향 하위 배열 [2,4,1], arr은 [1,4,2,3]이 됩니다
    2. 역방향 하위 배열 [4,2], arr은 [1,2,4,3]이 됩니다
    3. 역방향 하위 배열 [4,3], arr은 [1,2,3,4]가 됩니다
    4. arr을 target으로 변환하는 방법은 여러 가지가 있지만 이것이 유일한 방법은 아닙니다.

예 2:

  • 입력: 대상 = [7], arr = [7]
  • 출력: true
  • 설명: arr은 역순이 없이 target과 동일합니다.

예 3:

  • 입력: 대상 = [3,7,9], arr = [3,7,11]
  • 출력: false
  • 설명: arr에는 값 9가 없으며 결코 target으로 변환될 수 없습니다.

제약조건:

  • 목표.길이 == 도착.길이
  • 1 <= target.length <= 1000
  • 1 <= 대상[i] <= 1000
  • 1 <= arr[i] <= 1000

힌트:

  1. target의 각 요소는 arr에 해당 요소가 있어야 하며, 해당 요소가 없으면 false를 반환합니다.
  2. 쉽게 해결하려면 두 배열을 정렬하고 동일한지 확인하면 됩니다.

해결책:

이 문제를 해결하려면 다음 단계를 따르세요.

  1. 두 배열에 동일한 요소와 동일한 빈도가 있는지 확인하세요. 그렇다면 하위 배열을 뒤집어 한 배열을 다른 배열로 변환할 수 있다는 의미입니다. 두 배열을 모두 정렬하고 비교하는 것이 이를 달성하는 쉬운 방법입니다.

이 솔루션을 PHP: 1460으로 구현해 보겠습니다. 하위 배열을 뒤집어 두 배열을 동일하게 만들기






설명:

  1. 배열 정렬: target과 arr을 모두 정렬하면 동일한 빈도의 동일한 요소가 있는 경우 정렬 후 동일하게 되도록 보장할 수 있습니다.
  2. 정렬된 배열 비교: 정렬된 target 버전이 arr의 정렬된 버전과 같다면 요소와 해당 빈도가 일치하므로 하위 배열을 뒤집어 arr을 target으로 변환할 수 있다는 의미입니다.

핵심 포인트:

  • 정렬: 이 단계를 통해 두 배열의 요소를 직접 비교할 수 있습니다.
  • 비교: 정렬 후 직접 비교(==)만으로도 하위 배열 반전을 통해 두 배열을 동일하게 만들 수 있는지 확인할 수 있습니다.

이 솔루션은 PHP의 정렬 및 배열 비교 속성을 활용하여 간단하고 효율적입니다.

연락처 링크

이 시리즈가 도움이 되었다면 GitHub에서 저장소에 별표를 표시하거나 즐겨찾는 소셜 네트워크에서 게시물을 공유해 보세요. 여러분의 지원은 저에게 큰 의미가 될 것입니다!

이렇게 더 유용한 콘텐츠를 원하시면 저를 팔로우해주세요.

  • 링크드인
  • 깃허브

위 내용은 하위 배열을 뒤집어 두 배열을 동일하게 만들기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.