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

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

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

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

顔認識ブームは沈静化すべきでしょうか?

北京地下鉄は昨年11月から、セキュリティチェックに顔認識技術を使用する試験運用を開始し、ブラックリス...

効果よりも研究が重要です。バイオニックロボットはどうすれば実用化できるのでしょうか?

[[235506]]映画『ウォーリー』では、愛らしいウォーリー(WALL-E、廃棄物処理ロボット地...

...

VRとAI: 融合しようとしている2つの技術

テクノロジーは私たちの生活に常に影響を与えています。社会として私たちはテクノロジーに大きく依存するよ...

詳細 | EUの人工知能法案が進行中:公共の場での顔認識の禁止を求める、市場シェアを獲得するために厳しい監視が必要

最近、EUの人工知能規制に新たな展開がありました。欧州データ保護委員会(EDPB)と欧州データ保護監...

...

自動化と人工知能の違いをご存知ですか?

自動化の一般的な定義は、機械化と電動化の最高レベルであり、つまり、機械、設備、機器はすべて、指定され...

マイクロソフトの世界最大の人工知能とモノのインターネットの研究所は上海にあり、30の企業が拠点を置いている。

5月15日、マイクロソフトの人工知能およびIoT研究所が上海張江で正式に業務を開始し、第一陣として国...

マイクロソフト、学習者の読解力向上を支援する独立AIツール「リーディングコーチ」を発表

IT Homeは1月19日、マイクロソフトが最近、学生向けの新しい生成AIツール「Reading C...

自律走行車の障害物回避、経路計画、制御技術の詳細な説明

1 はじめにインテリジェント交通システムは、複雑な環境における困難な自律性と安全性の問題に対処するた...

AIによる顔の改変など、新たな形の著作権侵害が引き起こす論争についてどう思いますか?

2019年にインターネット上で爆発的に広まった「ZAO」と呼ばれる顔を変えるソフトウェアなど、20...

疫病流行後、自動運転開発の方向性がより明確になりました!

自動運転は長い間、人々に「とても人気があるが、とても遠い存在」という印象を与えてきました。それは、何...

Foreign Media Express: 2017 年の機械学習に関する 10 の予測

[51CTO.com オリジナル記事] Foreign Media Express は、ヌカ・コーラ...

ChatGPT Enterprise Editionがリリースされ、OpenAIはこれをこれまでで最も強力なバージョンと呼んでいる

執筆者:Qianshan過去 1 か月間、OpenAI に関する物議を醸す報道が多くありました。一方...