Count the Number of Zeros in an Array
Problem Statement
Given an array of integers, the task is to count how many elements in the array are equal to zero (0).
This problem focuses on:
- Traversing the entire array
- Comparing each element with a given value
- Maintaining a frequency count
Why This Problem Is Important
This problem helps you understand:
- Frequency counting in arrays
- Conditional checks during traversal
- Basics of data analysis
- Preparation for hashing and counting problems
Counting specific values is commonly used in:
- Data cleaning
- Compression algorithms
- Sparse arrays
- Statistical analysis
Input and Output Format
Input
Array: [0, 1, 0, 3, 0, 5]
Output
Number of zeros = 3
Key Concept
We scan each element of the array and increase a counter whenever the element is 0.
Approach / Logic
- Initialize a variable count = 0
- Traverse the array
- If the current element equals 0, increment count
- After traversal, print count
Step-by-Step Algorithm
- Start
- Read the array and its size
- Initialize count = 0
- Loop from index 0 to n - 1
- If arr[i] == 0, increment count
- Print count
- End
Pseudocode
count = 0
for i = 0 to n-1:
if arr[i] == 0:
count = count + 1
print count
Dry Run Example
Array = [0, 4, 0, 7, 9, 0]
i = 0 → arr[i] = 0 → count = 1
i = 1 → arr[i] = 4 → no change
i = 2 → arr[i] = 0 → count = 2
i = 3 → arr[i] = 7 → no change
i = 4 → arr[i] = 9 → no change
i = 5 → arr[i] = 0 → count = 3
Final Count = 3
Time and Space Complexity
| Metric | Value |
|---|---|
| Time Complexity | O(n) |
| Space Complexity | O(1) |

Language-wise Implementation
C Implementation
#include
int main() {
int arr[] = {0, 1, 0, 3, 0, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int count = 0;
for(int i = 0; i < n; i++) {
if(arr[i] == 0) {
count++;
}
}
printf("Number of zeros in the array: %d", count);
return 0;
}
Output
Number of zeros in the array: 3
C++ Implementation
#include
using namespace std;
int main() {
int arr[] = {0, 1, 0, 3, 0, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int count = 0;
for(int i = 0; i < n; i++) {
if(arr[i] == 0) {
count++;
}
}
cout << "Number of zeros in the array: " << count;
return 0;
}
Output
Number of zeros in the array: 3
Java Implementation
public class Main {
public static void main(String[] args) {
int[] arr = {0, 1, 0, 3, 0, 5};
int count = 0;
for(int num : arr) {
if(num == 0) {
count++;
}
}
System.out.println("Number of zeros in the array: " + count);
}
}
Output
Number of zeros in the array: 3
Python Implementation
arr = [0, 1, 0, 3, 0, 5]
count = 0
for num in arr:
if num == 0:
count += 1
print("Number of zeros in the array:", count)
Output
Number of zeros in the array: 3
C# Implementation
using System;
class Program {
static void Main() {
int[] arr = {0, 1, 0, 3, 0, 5};
int count = 0;
foreach(int num in arr) {
if(num == 0) {
count++;
}
}
Console.WriteLine("Number of zeros in the array: " + count);
}
}
Output
Number of zeros in the array: 3
JavaScript Implementation
let arr = [0, 1, 0, 3, 0, 5];
let count = 0;
for (let i = 0; i < arr.length; i++) {
if (arr[i] === 0) {
count++;
}
}
console.log("Number of zeros in the array:", count);
Output
Number of zeros in the array: 3
Common Mistakes to Avoid
- Using assignment (=) instead of comparison (== or ===)
- Forgetting to initialize the counter
- Breaking the loop early
- Confusing zero with null or empty values
Interview Variations
- Count occurrences of a given number
- Count zeros and non-zeros separately
- Move all zeros to the end of the array
- Count zeros using hashing
Detailed Summary
Counting the number of zeros in an array is a classic frequency-counting problem that strengthens understanding of array traversal and conditional logic. By iterating through the array once and evaluating each element, we efficiently determine how often a specific value appears. This problem forms the foundation for more advanced topics such as hashing, frequency maps, and optimized data processing techniques used in real-world applications.
Next Problem in the Series
Find the Second Largest Element in an Array
