How to count the maximum consecutive set of numbers in an array with Java

1 Answer

0 votes
import java.util.HashSet;
import java.util.Set;

public class MyClass {
    
    private static int countMaxConsecutiveSetOfNumbers(int[] arr) {
        int size = arr.length;
        
        HashSet<Integer> set = new HashSet<Integer>();
        for (int i = 0; i < size; i++)
            set.add(arr[i]);

        int mx = 0;
        for (int i = 0; i < size; i++) {
            if (set.contains(arr[i])) {
                int temp = arr[i];
     
                while (set.contains(temp))
                    temp++;
                
                mx = Math.max(mx, temp - arr[i]);
            }
        }
        
        return mx;
    }


    public static void main(String args[]) {
        int[] arr = {22, 3, 21, 32, 24, 31, 4, 99, 23};

        // 21 22 23 24
    
        System.out.print(countMaxConsecutiveSetOfNumbers(arr));
    }
}




/*
run:

4

*/

 



answered Oct 21, 2022 by avibootz
...