Java: Print all sub-arrays with 0 sum present in a given array of integers
Write a Java program to print all sub-arrays with 0 sum present in a given array of integers.
Example:
Input :
nums1 = { 1, 3, -7, 3, 2, 3, 1, -3, -2, -2 }
nums2 = { 1, 2, -3, 4, 5, 6 }
nums3= { 1, 2, -2, 3, 4, 5, 6 }
Output:
Sub-arrays with 0 sum : [1, 3, -7, 3]
Sub-arrays with 0 sum : [3, -7, 3, 2, 3, 1, -3, -2]
Sub-arrays with 0 sum : [1, 2, -3]
Sub-arrays with 0 sum : [2, -2]
Sample Solution:
Java Code:
// Import necessary Java classes.
import java.util.*;
import java.lang.*;
// Define a class named 'solution'.
class solution
{
// A method to print all subarrays with a sum of zero.
public static void print_all_Subarrays(int[] A)
{
// Create a list to store elements of subarrays.
List<Integer> llist = new ArrayList<Integer>();
// Iterate through the array.
for (int i = 0; i < A.length; i++)
{
int sum = 0;
llist.removeAll(llist);
// Nested loop to find subarrays starting from index i.
for (int j = i; j < A.length; j++)
{
sum += A[j];
llist.add(A[j]);
// If the sum of the subarray is zero, print it.
if (sum == 0) {
System.out.println("Sub-arrays with 0 sum: " + llist.toString());
}
}
}
}
public static void main (String[] args)
{
// Define an array 'nums1'.
int[] nums1 = { 1, 3, -7, 3, 2, 3, 1, -3, -2, -2 };
System.out.println("\nOriginal array: " + Arrays.toString(nums1));
// Print all subarrays with a sum of zero for 'nums1'.
print_all_Subarrays(nums1);
// Define another array 'nums2'.
int[] nums2 = { 1, 2, -3, 4, 5, 6 };
System.out.println("\nOriginal array: " + Arrays.toString(nums2));
// Print all subarrays with a sum of zero for 'nums2'.
print_all_Subarrays(nums2);
// Define yet another array 'nums3'.
int[] nums3= { 1, 2, -2, 3, 4, 5, 6 };
System.out.println("\nOriginal array: " + Arrays.toString(nums3));
// Print all subarrays with a sum of zero for 'nums3'.
print_all_Subarrays(nums3);
}
}
Sample Output:
Original array: [1, 3, -7, 3, 2, 3, 1, -3, -2, -2] Sub-arrays with 0 sum : [1, 3, -7, 3] Sub-arrays with 0 sum : [3, -7, 3, 2, 3, 1, -3, -2] Original array: [1, 2, -3, 4, 5, 6] Sub-arrays with 0 sum : [1, 2, -3] Original array: [1, 2, -2, 3, 4, 5, 6] Sub-arrays with 0 sum : [2, -2]
Flowchart:
Java Code Editor:
Previous: Write a Java program to check if a given array contains a subarray with 0 sum.
Next: Write a Java program to sort a given binary array in linear times.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics