次のように問題がある:必ずしも明確ではないn個の整数の配列Lが与えられると 、最大長の増加シーケンスを計算するアルゴリズムを記述:最大増加サブ
Iが開発漸化式でありますこの:
私は0からインデックスを開始します。
If j = n opt(j) = 0 (base case)
otherwise opt(j) = max j <i <= n such that Lj <Li = {opt(i) +1}
はそうする権利であるあなたと思いますか?
if i = 1 opt (i) = 1
otherwise opt (i) = max 1 <= j <= i-1 and Lj <Li = {opt (i)} +1
これらの要素に、次に最大:この典型的な問題のために使用される標準的な解決策は、すなわち、第一の配列のすべての要素のためのLiで終わる最大増加シーケンスを計算し、これらの値の最大であります。
私はあなたが私のソリューションがとにかくあったと思っているかどうかを知りたかったのです。
O(N^2)で実行できるバイナリ検索ソリューションが既に存在するところで、O(N logN)で実行できるダイナミックプログラミングソリューションが必要なのはなぜですか? https://stackoverflow.com/questions/6129682/longest-increasing-subsequenceonlogn –