文字列が与えられた場合、その文字列に含まれる回文の部分文字列の数を数えることがタスクです。 開始位置または終了位置が異なる部分文字列は、同じ文字で構成されていても、異なる部分文字列と見なされます。 例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 の基本アルゴリズム: スライディング ウィンドウについてお話しましょう
[[250311]] 「顔スキャン」ではなく「手のひらスキャン」で、あなたの家のすぐそばに「AI野菜...
数日前、クック氏はアップルの電話会議で「生成AIは今年後半にリリースされる」と認めた。 ChatGP...
[[321744]]今日、LeetCode の問題やさまざまなアルゴリズム ルーチンを分析できる優れ...
GPT を使用する過程で、AI にニーズをより明確に理解させる方法が重要です。今日は、GPT をあな...
現在のディープラーニング フレームワークに関しては、TensorFlow と PyTorch を避け...
ビッグデータ概要編纂者:張南星、魏青、銭天培マイクロソフトのような大企業は、どのような AI 人材を...
近年、AI の分野を調査しているうちに、世界中の研究者の視野の中に敵対的攻撃という概念が徐々に現れて...
[[434282]] NVIDIA の秋の GTC カンファレンスが正式に開幕しました。 NVIDI...
端末側での大規模言語モデルの適用により、コンピューティング性能とエネルギー効率の需要が「引き出され」...
移動ロボットは、環境認識、動的意思決定と計画、行動制御と実行などの複数の機能を統合した総合システムで...
「人間のニューラルネットワークはどのように機能するのか?」この質問は多くのデータ サイエンティスト...
[51CTO.comより引用] 本日、アリババクラウドカンファレンス南京サミットが正式に開催され、ま...