LIS 최장 증차 서브시퀀스 Java의 간단한 구현
설명: 이 단락 코드가 실현하는 기능은
(1) 10개의 원소가 있는 그룹을 무작위로 생성한 다음 가장 긴 증가자 서열을 출력한다
(2) 요소 중 하나로 끝나는 최대 증차 서브시퀀스의 길이를 출력합니다.
구체적인 실현 사고방식은 주석에서 이미 상세하게 표명하였는데, 비교적 간단하니, 여기서는 더 이상 군더더기 말하지 않겠다
import java.util.Arrays;
import java.util.Random;
public class LIS {
public static void main(String[] args){
System.out.println("generating a random array...");
LIS lis=new LIS();
int[] oldArray=lis.randomArray();
for (int i = 0; i < oldArray.length; i++) {
System.out.print(oldArray[i]+" ");
}
System.out.println();
System.out.println(" ");
lis.lisGet(oldArray);
}
public int[] randomArray(){
Random random=new Random();
int[] randomArray=new int[10];
for (int i = 0; i < 10; i++) {
randomArray[i]=random.nextInt(10);
}
return randomArray;
}
public void lisGet(int[] arrayL ){
int[] lisLength=new int[arrayL.length];//
for (int i = 0; i < arrayL.length; i++) { //
lisLength[i]=1;
}
int max=1;
for (int i = 1; i < arrayL.length; i++) {
for (int j = 0; j <i; j++) {
if (arrayL[j]<arrayL[i]&&(lisLength[j]+1)>lisLength[i]) {
lisLength[i]=lisLength[j]+1;
}
if (max<lisLength[i]) { //
max=lisLength[i];
}
}
}
System.out.println(max);
System.out.println(" i :"+Arrays.toString(lisLength)); //
}
}
다음은 여러분에게 LIS 최장 증차 서브시퀀스 자바의 간단한 실현의 모든 내용입니다. 여러분에게 도움이 되고 많은 응원 부탁드립니다~
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
LIS 최장 증차 서브시퀀스 Java의 간단한 구현오늘 가장 긴 증가자 서열을 구하는 문제에 부딪혔습니다. 보고 자바로 실현하려고 했습니다. 가장 긴 증가자 서열이 무엇인지에 관해서는 군더더기 없이 바이두나 Google의 다음 코드를 사용할 수 있습니다. 설명: 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.