次のメソッドは、整数のリスト内でソートされた最長のシーケンスの長さを返す必要があります。たとえば、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);
}