アレイ整数所与の疾患、最長の長さは、立ち上がりシーケンスを発見しました。
例:
入力:[10,9,2,5,3,7,101,18]
出力: 4 説明:最長シーケンスが増加している[2,3,7,101],
その長さを4
。
説明:
- 様々な組み合わせを使用すると、出力のみに対応した長さを必要とする、シーケンスを増加させることができます。
- あなたのアルゴリズムの時間計算量はO(あるべきN2)。
高度: あなたは(Oにアルゴリズムの時間の複雑さを軽減することができN- ログイン N-を行いますか)?
解決策:複雑さO(N2)
class Solution {
public int lengthOfLIS(int[] nums) {
int[] dp = new int[nums.length];
for(int i=0;i<dp.length;i++) {
dp[i] =1;
}
int res = 0;
for (int i = 0; i < nums.length; i++) {
for(int j=0;j<i;j++) {
if(nums[i]>nums[j]) {
dp[i] = Math.max(dp[i], dp[j]+1);
}
}
res = Math.max(res, dp[i]);
}
return res;
}
}