Rumah >pembangunan bahagian belakang >tutorial php >Mengira Perkataan Dengan Awalan Diberi
<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>
Kesukaran: Mudah
Topik: Tatasusunan, Rentetan, Padanan Rentetan
Diberi tatasusunan rentetan words
dan rentetan pref
, kembalikan bilangan rentetan dalam words
yang mengandungi pref
sebagai awalan.
Awalan rentetan s
ialah sebarang subrentetan bersebelahan terkemuka s
.
Contoh 1:
words
= ["bayar","perhatian","latihan","hadir"], pref
= "di"Contoh 2:
words
= ["leetcode","win","loops","success"], pref
= "code"Kekangan:
Penyelesaian yang Diperbaiki (menggunakan strpos):
Penyelesaian yang disediakan menggunakan substr
yang kurang cekap daripada strpos
untuk tugas khusus ini. strpos
terus menyemak awalan pada permulaan rentetan, mengelakkan penciptaan subrentetan yang tidak perlu.
Penyelesaian PHP yang dipertingkat ini menggunakan 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>Kerumitan Masa:</strong> O(n*m) dalam kes paling teruk, dengan n ialah bilangan perkataan dan m ialah panjang awalan. Walau bagaimanapun, secara purata, ia akan lebih cepat daripada penyelesaian <code>substr
asal.Kerumitan Ruang: O(1) - Ruang tambahan berterusan digunakan.
Jawapan yang disemak ini memberikan penyelesaian yang lebih cekap dan mengekalkan kejelasan penjelasan. Imej kekal tidak berubah kerana ia berkaitan dengan pernyataan masalah.
Atas ialah kandungan terperinci Mengira Perkataan Dengan Awalan Diberi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!