ホームページ >バックエンド開発 >C++ >文字列を再配置して、母音のペア間の最小距離を最大化します

文字列を再配置して、母音のペア間の最小距離を最大化します

王林
王林転載
2023-09-11 19:49:031139ブラウズ

文字列を再配置して、母音のペア間の最小距離を最大化します

この記事では、文字列操作の分野からの興味深い問題、「母音のペア間の最小距離を最大化するように文字列を再配置する」を解き明かします。この問題では、文字列内の文字の配置を操作して、2 つの母音文字間の最小距離を可能な限り大きくすることが求められます。この問題について詳しく説明し、C コードの実装を示し、例を示して説明します。

問題文を理解する

与えられた文字列のタスクは、母音のペア間の最小距離が最大になるように文字列内の文字を再配置することです。言い換えれば、母音同士をできるだけ離す必要があるということです。

英語の母音は、「a」、「e」、「i」、「o」、「u」、およびそれらの大文字バージョンです。

###方法###

この問題を解決するには、2 段階のアプローチを採用します -

まず、文字列内の母音の数を数え、その位置を配列に保存します。

次に、配列を並べ替えて、連続する 2 つの要素間の最大差を計算します。この差は、母音のペア間の最大と最小の距離を表します。

###例###

この戦略を C で実装しましょう -

リーリー ###出力### リーリー

このコードは、まず文字列内のすべての母音の位置を検索し、それらをベクトルに格納します。次に、このベクトルをソートし、連続する要素間の最大の差を見つけます。この差は、母音のペア間の最大と最小の距離を表します。

###テストケース###

文字列「programming」について考えてみましょう。母音「o」、「a」、「i」の位置はそれぞれ 1、4、7 です。したがって、母音のペア間の最大および最小の距離は 3 です。

###結論は###

この記事では、特定の文字列内の母音のペア間の最小距離を最大化する問題を解決するための段階的なアプローチを提供します。解決策には、母音を数え、その位置を保存し、それらの位置間の最大の差を見つけることが含まれます。一見すると問題は複雑に見えるかもしれませんが、これらのステップに分解すると非常に単純化されます。

以上が文字列を再配置して、母音のペア間の最小距離を最大化しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。