問題H(最長自然後繼):找到的連續編號的最長序列
兩個連續的整數是天然的後繼如果第二是第一的自然數的序列(1和2是天然的後繼)在後繼。編寫一個程序,讀取一個數字N,後跟N個整數,然後打印出最長連續自然後繼序列的長度。
例子:
輸入7 2 3 5 6 7 8 9 10輸出3這是到目前爲止我的代碼,我不知道爲什麼它不工作
import java.util.Scanner;
public class Conse {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int x = scan.nextInt();
int[] array = new int[x];
for (int i = 0; i < array.length; i++) {
array[i] = scan.nextInt();
}
System.out.println(array(array));
}
public static int array(int[] array) {
int count = 0, temp = 0;
for (int i = 0; i < array.length; i++) {
count = 0;
for (int j = i, k = i + 1; j < array.length - 1; j++, k++) {
if (Math.abs(array[j] - array[k]) == 1) {
count++;
} else {
if (temp <= count) {
temp = count;
}
break;
}
}
}
return temp + 1;
}
}
是5 6 7 = 3?不是正確的答案? – KevH 2014-12-03 23:11:56
@KevH是這個答案是正確的,但我的程序不回它 – 2014-12-03 23:13:46
對我來說 – KevH 2014-12-03 23:19:36