动态规划——最大递增子序列

来源:互联网 发布:淘宝网页看不到价格 编辑:程序博客网 时间:2024/05/18 18:43




参考博客:http://www.cnblogs.com/lonelycatcher/archive/2011/07/28/2119123.html

public class LongestIncreasingSubsequence {public static int subsequence(int[] arr,int n){  //n为输入数组的长度if(arr==null||n==0)return 0;int[] dp=new int[n];dp[0]=1;int maxlen=1;for(int i=1;i<n;i++){dp[i]=1;for(int j=0;j<i;j++){           if(arr[j]<arr[i]&& dp[i]<dp[j]+1){   //必须要dp[i]<dp[j]+1这个条件//它表示当前的子序列的长度要比待更新子序列长度小1的情况下,才更新,不然相等或小于也没意义dp[i]=dp[j]+1;  //不断地更新dp[i]使它最大maxlen=Math.max(maxlen, dp[i]); }}}return maxlen;}}



阅读全文
0 0
原创粉丝点击