>백엔드 개발 >PHP 튜토리얼 >배열의 K번째 고유 문자열

배열의 K번째 고유 문자열

王林
王林원래의
2024-08-06 09:25:301047검색

Kth Distinct String in an Array

2053. 배열의 K번째 고유 문자열

쉬움

고유 문자열은 배열에서 한 번만 존재하는 문자열입니다.

문자열 arr 배열과 정수 k가 주어지면 arr에 있는 k번째 고유한 문자열을 반환합니다. k개의 개별 문자열보다 적은 경우 빈 문자열 ""을 반환합니다.

참고 문자열은 배열에 나타나는 순서에 따라 고려됩니다.

예 1:

  • 입력: arr = ["d","b","c","b","c","a"], k = 2
  • 출력: "a"
  • 설명: arr에서 유일하게 구별되는 문자열은 "d"와 "a"입니다. "d"는 첫 번째번째에 나타나므로 첫 번째번째 고유 문자열입니다. "a"는 두 번째nd에 나타나므로 두 번째nd 고유 문자열입니다. k == 2이므로 "a"가 반환됩니다.

예 2:

  • 입력: arr = ["aaa","aa","a"], k = 1
  • 출력: "aaa"
  • 설명: arr의 모든 문자열은 서로 다르기 때문에 첫 번째 문자열 "aaa"가 반환됩니다.

예 3:

  • 입력: arr = ["a","b","a"], k = 3
  • 출력: ""
  • 설명: 유일한 고유 문자열은 "b"입니다. 고유 문자열이 3개 미만이므로 빈 문자열 ""을 반환합니다.

제약조건:

  • 1 <= k <= arr.length <= 1000
  • 1 <= arr[i].length <= 5
  • arr[i]는 영문 소문자로 구성됩니다.

힌트:

  1. 문자열을 '매핑'하여 고유한지 여부를 확인하세요.

해결책:

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

  1. 빈도 맵(연관 배열)을 생성하여 주어진 배열에서 각 문자열의 발생 횟수를 계산합니다.
  2. 배열을 반복하여 나타나는 순서대로 고유한 문자열(한 번만 나타나는 문자열)을 수집합니다.
  3. 고유 문자열의 개수가 k개 이상인지 확인하세요. 그렇다면 k번째 고유 문자열을 반환합니다. 그렇지 않으면 빈 문자열을 반환합니다.

이 솔루션을 PHP로 구현해 보겠습니다: 2053. 배열의 K번째 고유 문자열






설명:

  1. 주파수 맵: 먼저 각 문자열이 배열에 나타나는 횟수를 계산하기 위해 주파수 맵을 만듭니다.
    • ["d", "b", "c", "b", "c", "a"] 결과는 ["d" => 1, "b" => 2, "c" => 2, "a" => 1]
  2. 고유한 문자열 수집: 배열을 다시 반복하여 빈도 맵에서 개수가 1인 문자열을 수집합니다.
    • ["d", "b", "c", "b", "c", "a"]에 대해 ["d", "a"]를 얻습니다.
  3. 반환 결과: k개 이상의 고유한 문자열이 있는지 확인하고 존재하는 경우 k번째 문자열을 반환하고, 그렇지 않으면 빈 문자열을 반환합니다.

제공된 코드는 주어진 제약 내에서 문제를 효율적으로 처리합니다.

연락처 링크

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

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

  • 링크드인
  • 깃허브

위 내용은 배열의 K번째 고유 문자열의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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