> 백엔드 개발 > PHP 튜토리얼 > 주어진 접두어로 단어 세기

주어진 접두어로 단어 세기

Susan Sarandon
풀어 주다: 2025-01-09 18:03:42
원래의
615명이 탐색했습니다.
<code class="language-php"><?php
/**
 * @param String[] $words
 * @param String $pref
 * @return Integer
 */
function countWordsWithPrefix($words, $pref) {
    $count = 0;
    foreach ($words as $word) {
        if (strpos($word, $pref) === 0) {
            $count++;
        }
    }
    return $count;
}

// Example Usage
$words1 = ["pay", "attention", "practice", "attend"];
$pref1 = "at";
echo countWordsWithPrefix($words1, $pref1); // Output: 2

$words2 = ["leetcode", "win", "loops", "success"];
$pref2 = "code";
echo countWordsWithPrefix($words2, $pref2); // Output: 0
?></code>
로그인 후 복사

Counting Words With a Given Prefix

  1. 주어진 접두어로 단어 세기

난이도: 쉬움

주제: 배열, 문자열, 문자열 일치

문자열 배열 words과 문자열 pref이 주어지면 words에서 접두사로 pref이 포함된 문자열 수를 반환합니다.

문자열의 접두사 ss의 선행 연속 하위 문자열입니다.

예 1:

  • 입력: words = ["지불","주의","연습","참석"], pref = "at"
  • 출력: 2
  • 설명: 접두사로 "at"가 포함된 2개의 문자열은 "attention"과 "attend"입니다.

예 2:

  • 입력: words = ["leetcode","win","loops","success"], pref = "코드"
  • 출력: 0
  • 설명: 접두어로 "코드"가 포함된 문자열이 없습니다.

제약조건:

  • 1 <= 단어.길이 <= 100
  • 1 <= 단어[i].length <= 20
  • 1 <= pref.length <= 20
  • words[i]와 pref는 영문 소문자로 구성됩니다.

향상된 솔루션(strpos 사용):

제공된 솔루션은 이 특정 작업에 대해 substr보다 효율성이 떨어지는 strpos을 사용합니다. strpos 문자열 시작 부분의 접두사를 직접 확인하여 불필요한 하위 문자열 생성을 방지합니다.

이 향상된 PHP 솔루션은 strpos:

을 사용합니다.
<?php
function countWordsWithPrefix(array $words, string $pref): int {
    $count = 0;
    foreach ($words as $word) {
        if (strpos($word, $pref) === 0) { // Check if pref is at the beginning (index 0)
            $count++;
        }
    }
    return $count;
}
?>
<p><strong>시간 복잡도:</strong> 최악의 경우 O(n*m)입니다. 여기서 n은 단어 수이고 m은 접두사의 길이입니다.  그러나 평균적으로 원래 <code>substr 솔루션

보다 빠릅니다.

공간 복잡도: O(1) - 일정한 추가 공간이 사용됩니다.

이 수정된 답변은 보다 효율적인 솔루션을 제공하고 설명의 명확성을 유지합니다. 문제 설명과 관련이 있으므로 이미지는 변경되지 않은 상태로 유지됩니다.

위 내용은 주어진 접두어로 단어 세기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿