最長單調遞增子串行問題

2021-07-02 23:19:53 字數 683 閱讀 5648

設計乙個o(n2)複雜度的演算法,找出由n個數組成的序列的最長單調遞增子串行。

public class lis ;//儲存資料

int b = new int[a.length];//儲存每個元素的最長單調遞增子串行

int ab = new int[a.length][a.length];//儲存每個元素的單調遞增子串行值

public void lis()else if(j > i && a[j] > a[i] && a[j] > k)

}} //查詢最長子序列

int max = b[0];//記錄最大子串行值

int ii = 0;//記錄最大子串行值下標

for(int i = 0;i < b.length;i++)

} system.out.println("最長單調遞增子串行長度:"+max);

// for(int i = 0;i < a.length;i++)

// system.out.println();

// }

system.out.print("最長單調遞增子串行為:");

for(int j = 0;j < a.length;j++)

} }public static void main(string args)

}

最長單調遞增子串行

單調子串行包含有單調遞增子串行和遞減子串行,不失一般性,這裡只討論單調遞增子串行。首先,從定義上明確我們的問題。給定序列a1,a2,an,如果存在滿足下列條件的子串行 ai1 ai2 aim,其中i1即稱為乙個原序列的長度為m的單調遞增子串行,那麼,現在的問題是我們要找出乙個序列的最長的單調遞增子串...

最長單調遞增子串行

設計乙個o n2 時間的演算法,找出由n個數組成的序列的最長單調遞增子串行。輸入 第1個整數n 0分析 用陣列b 0 i 記錄以a i 0 i a k 並且 b k max b j 1 j i 1 所以 b i b k 1.如果存在k b k b k 並且 a i a k 即 b i 不是滿足條件的...

求最長單調遞增子串行

問題描述 設計乙個時間的演算法,找出由n個數組成的最長單調遞增子串行。演算法描述 演算法實現 includestruct date void ascorder struct date a,int n 輸出最長單調遞增子串行 找到最長單調遞增子串行開始的單元 int max 0 intfore for...