В настоящее время проблема заключается в том, что String subSequenceString не возвращает подпоследовательность должным образом. Кажется, он отображает только последний номер подпоследовательности.
Мой вывод
Вот пример ввода данных пользователем. [1 9 2 6 3], выводит серверы Самая длинная последовательная последовательность [3], подпоследовательность = [3]
Идеальный вывод
Вот пример ввода данных пользователем. [1 9 2 6 3], выводит Север, самая длинная последовательная последовательность [3], подпоследовательность = [1, 2, 3]
String subSequenceString = " ";
// check each possible sequence from the arrayStart
// then update optimal length
for (int i = 0; i < n; ++i) {
// if current element is the starting
// element of a sequence
if (!a.contains(triangleArray[i] - 1)) {
// Then check for next elements in the
// sequence
int j = triangleArray[i];
while (a.contains(j)) {
j++;
}
int arrayStart = 0;
// update optimal length if this length
// is more
if (longestConsecutiveSubSequenc < j - triangleArray[i]) {
longestConsecutiveSubSequenc = j - triangleArray[i];
arrayStart = triangleArray[i];
int subSequence = arrayStart + longestConsecutiveSubSequenc - 1;
subSequenceString = String.valueOf(subSequence);
for (int c = 0; c < longestConsecutiveSubSequenc - 1; c++) {
System.out.format("%d, ", arrayStart + c);
}
System.out.println(subSequenceString);
}
}
}