デイリーアルゴリズム: 有効な括弧

デイリーアルゴリズム: 有効な括弧

[[420388]]

'('、')'、'{'、'}'、'['、']' のみで構成される文字列が与えられた場合、その文字列が有効かどうかを判断します。

有効な文字列は次の要件を満たしている必要があります。

  • 開き括弧は、同じタイプの閉じ括弧で閉じる必要があります。
  • 開き括弧は正しい順序で閉じる必要があります。

空の文字列は有効な文字列とみなされることに注意してください。

例1:

  1. 入力: "()"  
  2. 出力: true  

例2:

  1. 入力: "()[]{}"  
  2. 出力: true  

例3:

  1. 入力: "(]"  
  2. 出力: false  

例4:

  1. 入力: "(]"  
  2. 出力: false  

例5:

  1. 入力: "([)]"  
  2. 出力: false  

答え: スタック構造を使用する

解決策: 文字列内の文字を 1 つずつスタックにプッシュし、文字を走査して 1 つずつ判断します。

  • まず要素が{、(、[であるかどうかを判断し、それを直接スタックにプッシュします。
  • それ以外の場合、文字は }、)、] のいずれかであり、文字列が有効であれば、要素はスタックの先頭と一致する必要があります。たとえば、スタックに ({) があり、次に走査される要素が ) である場合、現在の要素シーケンスは ({) であり、これは有効ではありません。したがって、スタックの先頭要素との一致は失敗し、文字列が無効であることを示す false が直接返されます。

トラバーサルが完了すると、一致した文字はすべて一致し、スタックからポップアウトされます。この時点でスタックが空であれば、文字列は有効です。スタックが空でない場合は、文字列に一致しない文字があり、文字列が無効であることを意味します。

理解を助けるために絵を描きます:

コード実装:

  1. const isValid =関数(s) {
  2. マップ = {
  3. '{' : '}'
  4. '(' : ')'
  5. '[' : ']'  
  6. }
  7. スタック = []
  8. ( i = 0 とします; i < s.length; i++) {
  9. if(map[s[i]]) {
  10. スタックをプッシュする(s[i])
  11. }そうでない場合、s[i] !== map[stack.pop()]){
  12. 戻る 間違い 
  13. }
  14. }
  15. スタックの長さを 0 で返す
  16. };

時間計算量: O(n)

空間計算量: O(n)

<<:  完璧な切り抜き王ビンビン! ByteDanceのインターンが開発したAIにより、4K 60fps動画のリアルタイム切り抜きが可能に

>>:  AI 主導の DevOps はどのようにビジネス変革を実現できるのでしょうか?

ブログ    
ブログ    
ブログ    

推薦する

NVIDIA、医療用 AI コンピューティング プラットフォームを発表

NVIDIA は最近、AI 駆動型イメージング、ゲノミクス、スマート センサーの開発と展開のための...

知っておきたい!AI を活用したサイバー犯罪対策に機械学習を活用する方法

[51CTO.com クイック翻訳] 今日のインターネット時代において、ネットワーク セキュリティは...

26億のパラメータ、智源と清華が中国の大規模事前トレーニングモデルをオープンソース化

最近、北京人工知能研究院と清華大学の研究チームは共同で、中国語を中核とした大規模な事前学習済み言語モ...

食糧生産・供給システムの改善 — AI が担う時代へ!

[[344152]] 人工知能は私たちの世界を急速に、さらには加速的に変えつつあります。しかし、そ...

ゲームオーバー?強いAIと弱いAIの戦い

数週間前、Googleの人工知能(AI)子会社DeepMindが、Gato(同じトレーニング済みモデ...

AI 転移学習はどのように機能しますか? AI モデルとトレーニング プロセスでどのような役割を果たすのでしょうか?

今日、AI プログラムは、写真やビデオ内の顔や物体を認識し、音声をリアルタイムで書き起こし、X 線ス...

...

写真をビデオに変換するには、指 1 本だけが必要です。 Gen-2スポーツブラシが無料で利用可能になりました。ネットユーザー:史上最高のアップデート

「ポイント」すると動きます。Gen-2の新機能「マジックブラシ 馬亮」が正式にリリースされました。無...

文勝ビデオの次の目的地であるメタはすでにビデオ制作を開始している

テキストガイドによるビデオツービデオ (V2V) 合成は、短編ビデオの作成や映画業界全体など、さまざ...

LLM で会話インターフェースを設計するにはどうすればいいですか?

著者:ヴァルン・シェノイ編纂者:王睿平大規模言語モデル (LLM) で構築されたテキスト ボックスの...

ダンスをしたり、音楽を作曲したり、演出したりできる AI を見たことがありますか?

最近、NVIDIA Blog は「ライト、カメラ、AI: Cambridge Consultants...

自己教師学習の効率限界を突破! Ma Yi と LeCun が共同で EMP-SSL をリリース: 特別なトリックは不要、30 エポックで SOTA を達成可能

過去数年間、教師なし学習と自己教師あり学習 (SSL) は大きな進歩を遂げてきました。SSL を通じ...

エッジAIとクラウドAIのバランスを見つける

エッジ AI により、ローカライズされた処理を通じてリアルタイムの機械学習が可能になり、即時のデータ...