다음 메서드는 정수 목록에서 가장 긴 정렬 된 시퀀스의 길이를 반환해야합니다. 예를 들어, list라는 변수에 {11,12,30,41,5,3,7,6}
값 시퀀스가 저장되면 4
을 반환해야합니다.Java (ArrayList)
가장 긴 정렬 순서가 맨 앞에서 시작되면이 메서드는 테스트에 실패하고 (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);
}
왜 이것이 Java와 C#으로 표시되어 있습니까? –
elementData는 어떻게 선언됩니까? 이것이 ArrayList와 어떤 관련이 있습니까? –
public class ArrayIntList { private int [] elementData; 개인용 int 크기; } –