How to check if a given array is a sparse array in Java

1 Answer

0 votes
import java.util.Arrays;

/**
    Determines whether an array is sparse.
    Sparse means: more zero elements than non‑zero elements.
*/
public class SparseArrayCheck {

    public static boolean isSparse(int[] arr) {
        // Count zero elements using a stream
        long zeroCount = Arrays.stream(arr)
                               .filter(x -> x == 0)
                               .count();

        // Compare zero vs non‑zero directly
        return zeroCount > (arr.length - zeroCount);
    }

    public static void main(String[] args) {
        int[] data = {0, 4, 0, 1, 0, 0, 0, 3, 0};

        if (isSparse(data)) {
            System.out.println("Sparse array");
        } else {
            System.out.println("Not a sparse array");
        }
    }
}


/*
run:

Sparse array

*/

 



answered Aug 14 by avibootz
...