首页 > 编程知识 正文

最长公共子序列java,java项目实例

时间:2023-05-03 17:40:16 阅读:32919 作者:3814

以下是添加最长子序列的Java程序-

publicclassDemo{示例{

saticintincre _ sub seq (intmy _ arr [ ],intarr_len ) {

intseq_arr[]=newint[arr_len];

inti,j,max=0;

for(I=0; I

seq_arr[i]=1;

for(I=1; I

for(j=0; Jj

if (my _ arr [ I ] my _ arr [ j ] seq _ arr [ I ]

seq_arr[i]=seq_arr[j] 1;

for(I=0; I

最大值

max=seq_arr[i];

返回最大值;

}

publicstaticvoidmain (string args [ ] ) {

intmy _ arr [ ]={ 10,22,9,33,21,50,41,60 };

intarr_len=my_arr.length;

System.out.println ('最长增量子序列的长度为' incre_subseq(my_ARR,arr_len ) );

}

}

输出结果的最长增加子序列的长度为5

名为Demo的类包含名为" incre_subseq "的静态函数。 此函数以数组和数组的长度为参数。 将在此函数内部创建一个新的空数组。 分配给" max "变量的值为0。 for循环遍历数组的长度,并将每个元素初始化为1。

同样,重复“for”循环,然后单击另一个“

for”循环。 检查数组中的第一个元素是否等于第二个元素,以及数组(seq_arr,初始化为al1的数组)中的第一个元素是否小于第二个元素

找到并返回seq_arr中最大的元素。 这是一种动态编程技术,计算值并将其存储在数组中,不需要像递归那样多次计算。

每次需要以前计算的元素时,都从数组中检索。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。