2559. 범위에서 모음 문자열 계산
난이도:중
주제: 배열, 문자열, 접두사 합계
인덱스가 0인 문자열 단어 배열과 정수 쿼리의 2D 배열이 제공됩니다.
각 쿼리 쿼리[i] = [li, ri]는 li 범위에 있는 문자열 수를 찾도록 요청합니다. ri(둘 다 포함) 모음으로 시작하고 끝나는 단어입니다.
querys.length 크기의 배열 ans를 반환합니다. 여기서 ans[i]는 i번째 쿼리에 대한 답변입니다.
참고 모음 글자는 'a', 'e', 'i', 'o', 'u'입니다.
예 1:
예 2:
제약조건:
힌트:
해결책:
다음 단계를 따르세요.
PHP에서 이 솔루션을 구현해 보겠습니다: 2559. 범위 내에서 모음 문자열 계산
설명:
isVowelString 함수:
- 문자열의 첫 글자와 마지막 글자가 모음인지 확인합니다.
- in_array를 사용하여 문자가 사전 정의된 모음 목록에 있는지 확인합니다.
접두사 합계 배열:
- prefixSum[i]는 인덱스 i-1까지 모음 문자열의 누적 개수를 저장합니다.
- 현재 단어가 조건을 만족하면 개수를 증가시킵니다.
쿼리 해결:
- 범위 [l, r]의 경우 모음 문자열의 개수는 prefixSum[r 1] - prefixSum[l]입니다.
효율성:
- 접두사 합계 배열을 구성하려면 O(n)이 필요합니다. 여기서 n은 단어 수입니다.
- 각 쿼리를 해결하려면 O(1)이 필요하므로 전체적인 복잡성은 O(n q)이 됩니다. 여기서 q는 쿼리 개수입니다.
엣지 케이스:
이 접근 방식은 문제의 제약 조건을 효율적으로 처리합니다.
연락처 링크
이 시리즈가 도움이 되었다면 GitHub에서 저장소에 별표를 표시하거나 즐겨찾는 소셜 네트워크에서 게시물을 공유해 보세요. 여러분의 지원은 저에게 큰 의미가 될 것입니다!
이런 유용한 콘텐츠를 더 원하시면 저를 팔로우해주세요.
위 내용은 범위에서 모음 문자열 계산의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!