今日のアルゴリズム: 文字列内の単語を反転する

今日のアルゴリズム: 文字列内の単語を反転する

[[423004]]

文字列が与えられたら、文字列内の各単語を 1 つずつ逆にします。

例1:

  1. 入力: 「空は青い」  
  2. 出力: "blue is sky the"  

例2:

  1. 入力: 「hello world!」  
  2. 出力: "world! hello"  
  3. 説明: 入力文字列の先頭または末尾に余分なスペースを含めることができますが、逆順に並べた文字を含めることはできません。

例3:

  1. 入力: 「良い例」  
  2. 出力: "example good a"  
  3. 説明: 2 つの単語の間に余分なスペースがある場合は、逆順に並べた単語間のスペースを 1 つだけに減らします。

例:

  • スペース文字は単語を形成しません。
  • 入力文字列の先頭または末尾には余分なスペースを含めることができますが、逆順に並べた文字には含めることができません。
  • 2 つの単語の間に余分なスペースがある場合は、逆順に並べた単語間のスペースを 1 つだけに減らします。

解決策 1: 正規表現 + JS API

  1. var 逆ワード =関数(s) {
  2. s.trim() を返します。replace ( / \s+/g, ' ' ).split( ' ' ).reverse(). join ( ' ' )
  3. };

ソリューション 2: 両端キュー (API を使用しない)

両端キューは、両端にキューイングできるキューです。

解決:

まず文字列の左右のスペースを削除します

文字列内の各単語を1つずつ読み取り、両端キューの先頭に1つずつ入れます。

次に、キューを文字列出力に変換します(区切り文字としてスペースを使用)

描画の理解:

コード実装:

  1. var 逆ワード =関数(s) {
  2. = 0とする
  3. 右辺をs.length - 1とする
  4. キューを [] にする
  5. 単語を''とする 
  6. while (s.charAt() === ' ' )++
  7. while (s.charAt() === ' ' )  --  
  8. <=){
  9. char = s.charAt()とします。
  10. if ( char === ' ' && 単語) {
  11. キュー.unshift(単語)
  12. 単語 = ''  
  13. }そうでない場合 ( char !== ' ' ){
  14. 単語 +=文字 
  15. }
  16. ++
  17. }
  18. キュー.unshift(単語)
  19. キュー.join ( ' ' )を返す
  20. };

<<:  Twitterはボットアカウントのラベルをテスト中

>>:  分散機械学習フレームワークRay

ブログ    

推薦する

Bzip2アルゴリズムハードウェアアクセラレーション方式

本発明は、Bzip2 アルゴリズムのハードウェア アクセラレーション実装方法を開示する。この方法は、...

人工知能とは何ですか?

人工知能とは何か人工知能(AI)の誕生以来、その定義と意味合いは議論の的となってきました。文字通り、...

ハイエンドチップはインテリジェント運転の問題を解決できるでしょうか?

この数か月の「影響」を経て、誰もが半導体不足の事実を十分に認識したと思います。2020年12月以来、...

新人機械学習エンジニアが犯しがちな6つの間違い

機械学習やデータサイエンスのプロジェクトに取り組む際に、初心者がよく犯す間違いにはどのようなものがあ...

FlashAttention v2 は標準の Attention より 5 ~ 9 倍高速です。大規模なモデルで使用されます。

最近、GPT-4(コンテキスト長32k)、MosaicMLのMPT(コンテキスト長65k)、Anth...

Wu Fengguang: Linux を使って事前読み取りアルゴリズムを学ぶ

Linux は急速に発展し、今では Microsoft に追いついています。Linux をより良く適...

AI スペクトルをめぐる戦いは 5G にとって何を意味するのでしょうか?

インテリジェントな都市変革の活発なトレンドの中で、AI を使用して交通渋滞を管理することは、誰もが多...

電子商取引で人工知能を効果的に活用する10の方法

[[388530]] [51CTO.com クイック翻訳] 「人工知能」は今日では人気の用語となり、...

5GとAIの相互影響

技術革新に関しては、私たちは転換点に達したようです。過去 5 年間で、私たちは、アイデアの創出から会...

ドバイが無人「空飛ぶ車」を試験:世界初のドローン旅客サービスとなる見込み

[[204952]]ボロコプター、ドバイで無人空飛ぶ車のテストを開始ロイター通信は北京時間9月26日...

人工知能が都市景観をどう変えるのか

人工知能 (AI) とディープラーニングはあらゆるところに存在し、今や都市の景観を一変させる可能性を...

Chain World: シンプルで効果的な人間行動エージェントモデル強化学習フレームワーク

強化学習は、エージェントが環境と対話し、蓄積された報酬を最大化するために最適なアクションを選択する方...

【ビッグガイがやってくるエピソード7】スマートショッピングガイド対話ロボットの実践

[51CTO.com からのオリジナル記事] 現在の電子商取引業界は比較的成熟しており、さまざまな形...

GenAI はクラウド コンピューティングの ROI を向上できますか?

既存企業は、クラウド コンピューティングの導入を検討する際、ジレンマに直面します。メリットは魅力的か...

LeCun 氏と xAI 共同創設者の衝突: GPT-4 の主要な推論欠陥に対する解決策はないのか?ネットユーザー:人間も「ランダムなオウム」

最近、ルカン氏を含む一群の大物が再びLLMを攻撃し始めた。最新のブレークスルーは、LLM にはまった...