相同数字的最大连续子序列

找出相同数字的最长连续子序列。

给出一组数字输入,找出相同数字组成的最长连续子序列的长度。当输入为0 的时候就退出

2 4 4 8 8 8 8 2 4 4 0

结果:4

通过输入的数据来寻找最大连续子序列,可以使用遍历的方式,遍历整个数组,记录相同数字的子序列


import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // 整行读取比单个读取速度快很多
        Scanner sc = new Scanner(System.in);
        int next = 0;
        // 记录上一个值
        String input = sc.nextLine();
        String[] split = input.split(" ");
        next = Integer.parseInt(split[0]);
        int max = 1;
        // 记录最大的长度
        int temp = 1;
        // 记录当前长度
        for (int i = 1; i < split.length; i++) {
            int inf = Integer.parseInt(split[i]);
            if(next !=0){

                //判断 当前输入是否和next 一样,一样的话就给count 添加,不一样就更新max
                if(next == inf){
                    temp++;
                 
                }else{
                    max = Math.max(max,temp);
                    temp = 1;
                }
            }
            next = inf;
        }
            


        max = Math.max(max,temp);
        // 最后还需要做一次更新,防止最后一组数据为最长
        System.out.print(max);
    
        

    }

}

通过将读取到的数据,使用空格来切割,遍历数组,用 next 变量记录上一个值,max 记录最大值,temp 记录当前读取到的长度,如果 当前值 和 next 一样,temp就+1,不一样就更新max。

你可能感兴趣的:(java,算法,开发语言)