以下方法应返回整数列表中最长排序序列的长度。例如,如果一个名为 list 的变量存储以下值序列:{11,12,30,41,5,3,7,6}
,它应该返回4
。
当最长的排序序列从前面开始时,此方法未通过测试(它返回3
),但它适用于其他测试。有谁知道问题出在哪里?谢谢你。
public int longestSortedSequence() {
int count = 0;
int max1 = 0;
int max2 = 0;
for (int i = 0; i < size; i++) {
if (elementData[i] <= elementData[i + 1]) {
count++;
if (count >= max1) {
max1 = count;
}
} else if (elementData[i] > elementData[i + 1]) {
count = 0;
count++;
if (count >= max2) {
max2 = count;
}
}
}
return Math.max(max1, max2);
}