今日のアルゴリズム: 文字列内の隣接する重複をすべて削除する

今日のアルゴリズム: 文字列内の隣接する重複をすべて削除する

[[419471]]

小文字で構成される文字列 S が与えられた場合、重複削除操作は隣接する 2 つの同一文字を選択して削除します。

重複排除操作は、重複排除が実行できなくなるまで S 上で繰り返し実行されます。

すべての重複削除操作が完了した後の最終文字列を返します。答えは必ず一意になります。

例:

  1. 入力: 「abbaca」  
  2. 出力: "ca"  
  3. 説明する:
  4. たとえば、 「abbaca」では、2 つの文字が隣接していて同じであるため、 「bb」を削除できます。これは、現時点で削除できる唯一の重複です。すると、文字列「aaca」が取得されますが、そのうち「aa」のみが重複排除できるため、最終的な文字列は「ca」になります

ヒント:

  1. <= 長さ <= 20000
  2. S は小文字の英語のみで構成されます。

解決策: スタックの使用

解決方法: 文字列をトラバースし、1 つずつスタックにプッシュします。スタックにプッシュするときに、スタックの先頭要素と一致しているかどうかを判断します。一致している場合、つまり 2 つの要素が同じで隣接している場合は、スタックの先頭要素をポップアウトする必要があり、現在の要素をスタックにプッシュする必要はありません。

解決手順: 文字列を走査し、スタックの先頭文字を取り出し、現在の文字がスタックの先頭文字と一致しているかどうかを判断します。

  • 矛盾しており、先頭の文字がスタックにプッシュされ、現在の文字がスタックにプッシュされます
  • スタック ヘッド文字は現在の文字と同じであり、それに隣接しています。どちらの文字もスタックにプッシュする必要はなく、次のトラバーサルを直接実行できます。

トラバーサルが完了したら、スタック内の文字列を返します。

コード実装:

  1. const removeDuplicates =関数(S) {
  2. スタック = []
  3. (c of S)の場合{
  4. prev = stack.pop() とします。
  5. if(前 !== c) {
  6. スタック.push(前)
  7. スタックをプッシュする(c)
  8. }
  9. }
  10. スタックの結合( ' ' )を返す
  11. };
  • 時間計算量: O(n)
  • 空間計算量: O(n

<<:  ハイテク大手の新たな戦場:ロボットの時代が始まる

>>:  人工知能の台頭によりプログラマーは消滅するのでしょうか?

ブログ    
ブログ    
ブログ    

推薦する

海外メディア:GoogleはマーケティングのためにGeminiをリリースしたが、依然としてGPT-4に遅れをとっている

12月8日のニュース、今週の水曜日、Googleは最新の人工知能モデルGeminiをリリースしました...

...

トヨタが GenAI を活用して IT サービスを変革する方法

「私の大胆な決断の1つは、2025年までに従来のヘルプデスクを廃止したいということだった」とトヨタ自...

...

機械学習の発展の歴史と啓蒙

[[188091]]近年、人工知能の目覚ましい発展、特にAlphaGoと韓国のチェスプレイヤー、イ・...

2024 年の世界のデジタルビジネスに関するトップ 10 の予測

この記事では、今後 12 ~ 24 か月の間にグローバル ビジネス エコシステムを変革する外部要因と...

インダストリー4.0: AIを活用した障害検出

[[359728]] AI の向上とマシン ビジョン制御の向上を組み合わせることで、スマート製造業界...

量子人工知能研究における課題と機会

量子コンピューティングと人工知能の融合により、大きな期待と可能性を秘めた研究の最前線である量子人工知...

5G + AI はカスタマー サービス業界にどのような大きな影響を与えるでしょうか?

最近、工業情報化部は通信事業者4社に5G商用ライセンスを発行し、5G商用時代の到来を告げた。 AIと...

人工知能はさまざまな業界でどのように応用されているのでしょうか?

「人工知能」という用語は、人間の意思決定を模倣または複製できる機械とは対照的に、複雑でインテリジェ...

人工知能とビッグデータの隠れた危険性とは何でしょうか?

データの不足からデータの豊富さへと、近年利用可能なデータの量は飛躍的に増加し、ビッグデータはどこにで...

Baidu がモバイル検索ランキングアルゴリズムを調整し、アプリのランキング結果を改善

百度の関係者は、現在、携帯電話でPCのウェブサイトにアクセスした場合、最高の閲覧体験を得ることは難し...

美団における短編動画コンテンツ理解・生成技術の革新的実践

著者 |馬斌映像データに関しては、コンピュータビジョン技術を通じて関連データを活用し、ユーザーや企業...

Natureサブジャーナル:ニューロモルフィックコンピューティングがさらに進歩し、科学者はニューロンとシナプスの人工シミュレーションを実現した

ニューロモルフィック コンピューティングは、人間の脳を構成するニューロンとシナプスのメカニズムを模倣...