数组列表中相同数字的最长序列

时间:2017-01-22 01:04:17

标签: java arraylist

我正在尝试执行此操作,以便打印出相同数字的最长序列。我刚刚编辑了它,但是它告诉我发表一个返回声明。这是我的代码:

public class A1Q3 {
    private static int getLongestRun(int[] array){ 
        int count = 1; 
        int max = 1;

        for (int i = 1; i < array.length; i++) {
            if (array[i] == array[i - 1]) {
                 count++;
            } else {
                 count = 1;
            }
              if (count > max){
                  max = count;
        }   
    }

     public static void main(String[] args) { 
         int[] array = new int[]{5, 6, 6, 45, -2, -9, 56};
         System.out.println(getLongestRun(array));
     }    
}

1 个答案:

答案 0 :(得分:0)

您缺少getLongestRun()函数和return语句的右括号。您想要返回最大变量。

此外,而不是

System.out.println(count);

尝试:

System.out.println(getLongestRun(array));

实际使用你所做的功能。但是,您的功能仍然不正确。您将返回当前条纹计数,而不是最长的条纹计数。在条纹结束后,您正确地将计数重置为1,但是您需要另一个名为max的变量来存储除当前条纹之外的总最大值。