我试图找到数组中增长数字最长的段。
例如:阵列 - {4.5 9.2 3 5 6 7 4.3 -2 8 8 8 3 3} 输出 - {3 5 6 7}
这是我写的代码,我知道它非常糟糕,但我如何编写它,我会改进它。
如果您需要更多信息,请告诉我,我会在我回来后发布。
System.out.print("How many numbers will you enter? >>> ");
int numbers = console.nextInt();
console.nextLine();
double arrayList[] = new double[numbers];
System.out.print("Type in numbers with spaces in between >>>");
for(int i = 0; i < arrayList.length; i++)
{
arrayList[i] = console.nextDouble();
}
console.nextLine();
double grand = 0, x;
int l = 0, inOut = 1;
int count = 0, count2 = 0;
double sum[] = new double[inOut];
double fnum[] = new double[inOut];
for(int i = 0; i < arrayList.length - 1; i++)
{
x = arrayList[i];
grand = arrayList[i + 1];
if(x < grand)
{
sum[l] = x;
l++;
inOut++;
count++;
}
else
{
if(count2 < count)
{
for(int k = 0; k < inOut; k++)
{
}
}
}
}
您尝试解决的问题称为Longest Increasing Subsequence
,您可以通过正确的解释here找到更多信息。