Longest Span in two Binary Arrays Java
PROGRAM TO FIND THE LONGEST SPAN WITH SAME SUM IN TWO BINARY ARRAYS
OUTPUT:
Length of the longest common span with same sum is 6
class Test{ static int arr1[] = new int[]{0, 1, 0, 1, 1, 1, 1}; static int arr2[] = new int[]{1, 1, 1, 1, 1, 0, 1}; // Returns length of the longest common sum in arr1[] // and arr2[]. Both are of same size n. static int longestCommonSum(int n) { // Initialize result int maxLen = 0; // One by one pick all possible starting points // of subarrays for (int i=0; i<n; i++) { // Initialize sums of current subarrays int sum1 = 0, sum2 = 0; // Conider all points for starting with arr[i] for (int j=i; j<n; j++) { // Update sums sum1 += arr1[j]; sum2 += arr2[j]; // If sums are same and current length is // more than maxLen, update maxLen if (sum1 == sum2) { int len = j-i+1; if (len > maxLen) maxLen = len; } } } return maxLen; } // Driver method to test the above function public static void main(String[] args) { System.out.print("Length of the longest common span with same sum is "); System.out.println(longestCommonSum(arr1.length)); }}
Length of the longest common span with same sum is 6
Comments
Post a Comment