How to find the index that split an array into two equal sum subarrays in TypeScript

1 Answer

0 votes
function getSplitIndex(arr : any) : number { 
    const size = arr.length; 
    let leftSum = 0; 
    
    for (let i = 0; i < size; i++) { 
        leftSum += arr[i]; 
    
        let rightSum = 0; 
        for (let j = i + 1; j < size; j++) 
             rightSum += arr[j]; 
        if (leftSum == rightSum) 
            return i + 1; 
    } 
    
    return -1; 
}    
    
function printSplitParts(arr : any) { 
    const size = arr.length;
    const splitIndex = getSplitIndex(arr); 
        
    if (splitIndex == -1 || splitIndex == size) { 
        console.log("No equal parts"); 
        return; 
    } 
            
    for (let i = 0; i < size; i++) { 
        if (splitIndex == i) 
            console.log(); 
        console.log(arr[i]); 
    } 
} 
 
let arr1 = [1, 2, -3, 9, 2, 4, 3];
printSplitParts(arr1); 
          
console.log(); 
          
let arr2 = [1, 8, 3, 4, 5, 5, 1];
printSplitParts(arr2); 
  
  
  
  
/*
run:
 
1 
2 
-3 
9 
 
2 
4 
3 

"No equal parts" 
  
*/

 



answered Aug 6, 2022 by avibootz
...