每日算法-05(最长上升子序列)
Posted lwyy1223-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日算法-05(最长上升子序列)相关的知识,希望对你有一定的参考价值。
求最长上升子序列
第一行输入一个数n,接下来一行,输入n个数值,求最长上升子序列;
输入例子:
5
2 1 8 3 6
输出:
3
解析:1 3 6
赶脚这个代码还是很菜,先上菜吧,开个胃,哈哈哈;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int n=in.nextInt();
int i=0,j=0;
int dp[]=new int[n+1];int aa[]=new int [n+1];
for(i=0;i<n;i++)
{
aa[i]=in.nextInt();
}
int ans=0;
for(i=0;i<aa.length;i++)
{
dp[i]=1;
for(j=0;j<i;j++)
{
if(aa[j]<aa[i])
{
dp[i]=Math.max(dp[j]+1,dp[i]);
}
}
ans=Math.max(ans,dp[i]);
}
System.out.print(ans);
return;
}
}
仅自己这样想的,不包含科学质上对哈,有错欢迎提出。?
以上是关于每日算法-05(最长上升子序列)的主要内容,如果未能解决你的问题,请参考以下文章