Largest subarray of 0's and 1's Python

PROGRAM TO FIND THE LARGEST SUBARRAY WITH EQUAL NUMBER OF 0s AND 1s



def findSubArray(arr, n):
 
    sum = 0
    maxsize = -1
 
    # Pick a starting point as i
 
    for i in range(0, n-1):
     
        sum = -1 if(arr[i] == 0) else 1
 
        # Consider all subarrays starting from i
 
        for j in range(i + 1, n):
         
            sum = sum + (-1) if (arr[j] == 0) else sum + 1
 
            # If this is a 0 sum subarray, then
            # compare it with maximum size subarray
            # calculated so far
 
            if (sum == 0 and maxsize < j-i + 1):
                 
                maxsize = j - i + 1
                startindex = i
             
         
     
    if (maxsize == -1):
        print("No such subarray");
    else:
        print(startindex, "to", startindex + maxsize-1);
 
    return maxsize
 
# Driver program to test above functions
arr = [1, 0, 0, 1, 0, 1, 1]
size = len(arr)
findSubArray(arr, size)


OUTPUT:
0 to 5

Comments

Popular posts from this blog

Solve the Sudoku Python

Solve the Sudoku Java

Find Duplicates Java