文字列が与えられた場合、その文字列に含まれる回文の部分文字列の数を数えることがタスクです。 開始位置または終了位置が異なる部分文字列は、同じ文字で構成されていても、異なる部分文字列と見なされます。 例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 の基本アルゴリズム: スライディング ウィンドウについてお話しましょう
最近、多くのソーシャル ネットワーキング プラットフォームに、オープン ワールド サバイバル ゲーム...
[51CTO.com クイック翻訳] 教師なし機械学習と人工知能は、組織のビジネス成長に役立つことは...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
今週、OpenAIのビデオAIツール「Sora」が登場するや否や大きな話題を呼んだ。 「仕事を失う」...
執筆者 | Yun Zhao制作:51CTO テクノロジースタック(WeChat ID:blog)と...
人類は遊牧から農耕へ、そして農耕から工業化へと移行しました。工業化の後半は情報化であり、情報化の究極...
この記事のタイトルは少し大まかです。私の意見では、実際には 2 つの意味が含まれています。1 つ目は...
[[262283]]時代の進歩とさまざまな技術の継続的な発展により、私たちの日常生活は大きな変化を遂...
[[194046]] 2015 年、Quora のエンジニアリング部門長である Xavier Ama...
手書き模倣AIの研究背景諺にあるように、人の筆跡はその人の性格を表す。硬い印刷フォントと比較すると、...
AutoGPT に続いて、もう一つのスター プロジェクトが誕生しました。 GPT-Engineer ...
COVID-19の流行が世界中の人々の生命と日常生活を脅かし続けている中、人々はこの病気の予防と治療...
「私たちのチームは、世界最大かつ最先端のテクノロジー企業出身者で構成されています。世界クラスの才能あ...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...