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

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

[[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

ブログ    

推薦する

人工知能:現在も将来も有望

最近、2020年世界人工知能会議が中国上海で開催されました。各国の専門家らがオンラインで議論し、人工...

また鉄の飯碗が割れた!今後、これらの仕事は人工知能に置き換えられるかもしれません!

この時代に本物の鉄丼なんて存在しない!最近、広東省の高速道路で非接触型決済が導入されたというニュース...

ViTと競合するDeepMindは、スパースモデルからソフト混合エキスパートモデルに移行

大規模モデルが驚くべきパフォーマンスを示したため、モデルのサイズはモデルのパフォーマンスに影響を与え...

...

...

...

TF Learn: Scikit-learn と TensorFlow をベースにしたディープラーニング ツール

[51CTO.comより引用] 海外のデータサイエンス市場に詳しい人なら誰でも、2017年に海外のデ...

人工知能の長所と短所をどのように見ていますか?

人工知能は、人間の生活に強固な物質的基盤を築くだけでなく、より多くの人々を単純で退屈な反復作業から解...

ディープラーニングの悪循環は驚くべき結果をもたらすだろう

[[191396]]カルロス・E・ペレスコンピレーション | 聖人、ワンショットオックスフォード大学...

Kindred AIは、ロボットをより賢くするために、人々にVRメガネをかけて訓練することを望んでいる

(原題: Kindred AI は強化学習を利用して、人間やサルに VR メガネをかけてロボットを訓...

...

携帯電話を使ってドライバーを監視:ドライバーレコーダーもAI技術を活用し始めている

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...

生成 AI によってもたらされるセキュリティ リスクをどう解決するか? Akamai が答えを持っています

現在、あらゆる分野で革新的なテクノロジーを活用して産業のアップグレードを加速する方法が模索されており...