文字列が与えられた場合、その文字列に含まれる回文の部分文字列の数を数えることがタスクです。 開始位置または終了位置が異なる部分文字列は、同じ文字で構成されていても、異なる部分文字列と見なされます。 例1:
例2:
ヒント:
解決策1: ブルートフォース
複雑性分析:
解決策2: 動的プログラミング文字列の最初と最後の文字が同じで、残りの部分文字列も回文である場合、その文字列は回文です。その中で、残りの部分文字列が回文であるかどうかはより小さなサブ問題であり、その結果はより大きな問題の結果に影響を与えます。 サブ問題をどのように記述するのでしょうか? 明らかに、部分文字列は両端の i ポインタと j ポインタによって決定されます。これらは部分問題を記述する変数です。部分文字列 s[i...j] (dp[i][j]) が回文であるかどうかが部分問題です。 計算されたサブ問題の結果は、基本ケースから始めて 2 次元配列に記録し、表に記入するように各サブ問題の解を導出します。
注: i<=j、テーブルの半分だけ使用すればよく、垂直にスキャンする それで:
今すぐ:
そうでなければ偽 コード実装:
コード実装(最適化): 上記の表の縦の列を 1 次元配列として考えるか、縦にスキャンします。この場合、dp を 1 次元配列として定義するだけで済みます。
複雑性分析:
リートコード: https://leetcode-cn.com/problems/palindromic-substrings/solution/leetcode647hui-wen-zi-chuan-by-user7746o/ |
<<: ディープラーニングアーキテクチャにおける予測コーディングモデルに関しては、PredNetに目を向ける必要があります。
>>: Leetcode の基本アルゴリズム: スライディング ウィンドウについてお話しましょう
[[233698]]海外メディアの報道によると、ロボットに災害を引き起こす可能性のあることをしないよ...
2016年以降、人工知能と医療の融合があらゆる面で火花を散らし始めています。医療AIは数年にわたる開...
企業は意思決定を強化し、消費者体験を向上させるために、幅広いアプリケーションで人工知能を活用すること...
1. 現在の状況:ディープラーニングは現在非常に注目されており、あらゆる種類のカンファレンスがそれと...
[[359728]] AI の向上とマシン ビジョン制御の向上を組み合わせることで、スマート製造業界...
[51CTO.com 速訳] 最近、FacebookはMessengerプラットフォーム上のチャット...
人工知能は近年の科学技術発展の重要な方向です。ビッグデータの時代において、データの収集、マイニング、...
宇宙探査は人類の最も挑戦的で刺激的な取り組みの一つです。これには、科学的知識、技術革新、そして人間の...
最近またFaceAPPが人気になってきているので、編集者もダウンロードして試してみました。大丈夫です...
1 月 19 日、テクノロジー業界が超人的、神レベルの知能を達成する道を歩んでいるという確固たる信念...
「そう遠くない将来、スマートホームシステムを備えていない家庭は、インターネットにアクセスできない今...
心臓ペースメーカーの正確なメカニズムはわかっていませんが、この物理的プロセスを再現する「心臓」を私た...
この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...