2559。範囲内の母音文字列を数える
難易度: 中
トピック: 配列、文字列、プレフィックス合計
文字列ワードの 0 インデックス 配列と整数クエリの 2D 配列が与えられます。
各クエリ queries[i] = [li, ri] は、li から までの範囲内に存在する文字列の数を見つけるように求めます。 ri (両方を含む) 母音で始まり母音で終わる単語。
サイズ queries.length の配列 ans を返します。ここで、ans[i] は i 番目 クエリ に対する答えです。
母音文字は「a」、「e」、「i」、「o」、「u」であることに注意してください。
例 1:
1 5
母音で始まり母音で終わる文字列の接頭辞の合計を事前計算します。
次の手順に従うことができます:
このソリューションを 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 中国語 Web サイトの他の関連記事を参照してください。