この記事では、C での文字列操作に関連する興味深い問題について検討します。問題の文は、「ある文字列内の文字が別の文字列に出現する頻度の合計」です。この質問は、C での文字列操作、文字頻度の計算、およびマッピングの概念についての理解を深める素晴らしい機会となります。
###問題文###
2 つの文字列が与えられた場合、タスクは、最初の文字列の文字が 2 番目の文字列で出現する頻度の合計を見つけることです。
C 解決方法
この問題を解決するには、まずハッシュ マップを使用して 2 つの文字列の頻度マップを作成します。頻度プロットは、文字列内の各文字を文字列内のその文字の数にマップしたものです。このために、STL unowned_map を使用します。頻度プロットを作成した後、最初の文字列の頻度プロットを繰り返し、2 番目の文字列にも存在する文字ごとに、その頻度を合計に加算します。
###例###
これは、このソリューションを実装するための C コードです -
リーリー
###出力###
リーリー
テストケースの説明
文字列「hello」と「world」について考えてみましょう。
これらの文字列を sumOfFrequency 関数に渡すと、最初に 2 つの文字列の周波数マップが作成されます。 「hello」の場合、頻度マッピングは {'h':1, 'e':1, 'l':2, 'o':1} で、「world」の場合、頻度マッピングは {'w': 1、'o':1、'r':1、'l':1、'd':1}。
関数は、「hello」の頻度マップを反復処理し、「world」にも出現する文字ごとに、その頻度を合計に加算します。一般的な文字は「o」と「l」で、「hello」の頻度はそれぞれ 1 と 2 です。したがって、度数の合計は 3 になります。
したがって、このプログラムの出力は「頻度の合計は 3」になります。
###結論は###
この質問は、C の周波数マッピングの概念を理解し、実践する素晴らしい機会を提供します。これは、C コーディング スキルを向上させ、文字列とマップを操作して問題を解決する方法を理解するのに最適な質問です。
以上がある文字列内の別の文字列内の文字の頻度の合計の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。