ホームページ >バックエンド開発 >C++ >文字列内の文字または文字列の発生をカウントする最も効率的な方法は何ですか?

文字列内の文字または文字列の発生をカウントする最も効率的な方法は何ですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-31 06:31:12303ブラウズ

What's the Most Efficient Way to Count Character or String Occurrences in a String?

キャラクター文字列の効率的な統計文字または文字列ターゲット文字または文字列の数が長い文字列に表示される必要がある場合、開発者は通常、複数の方法を検討します。 2つの一般的な方法には、交換関数を使用して文字列の長さの違いが含まれます。または、ターゲット文字に基づいて文字列を分割します。 ただし、.NET 3.5は、より効率的なソリューションを提供します。Linqのカウント方法。これにより、コードの行にカウントが可能になります: その中でも、ソースは検索する文字列であり、//は数えたい文字です。

別の方法は、分割方法を使用することです。

これらの方法は両方とも簡潔な代替品を提供しますが、ベンチマークテストは、交換関数の計算間の長さの違いを計算する方法が驚くほど高速であることを示しています。たとえば、文字列「/and/on/a/time/」の場合、置換メソッドは50,000,000回で12秒の反復を消費し、カウントメソッドには19秒かかり、分割メソッドには17秒かかります。
<code>int count = source.Count(f => f == '/');</code>

最終的には、開発者は特定のニーズと好みに沿って最も選択する必要があります。ただし、パフォーマンスがフォーカスポイントになると、交換関数を使用する元の方法は依然として実行可能で効率的な選択です。

以上が文字列内の文字または文字列の発生をカウントする最も効率的な方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。