Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,900 questions

51,831 answers

573 users

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

1 Answer

0 votes
function getSplitIndex($arr) { 
    $size = count($arr);
    $leftSum = 0;; 
  
    for ($i = 0; $i < $size; $i++) { 
        $leftSum += $arr[$i]; 
  
        $rightSum = 0; 
        for ($j = $i + 1; $j < $size; $j++) 
            $rightSum += $arr[$j]; 
  
        if ($leftSum == $rightSum) 
            return $i + 1; 
    } 
    return -1; 
} 
  
function printSplitParts($arr) { 
    $size = count($arr); 
    $splitIndex = getSplitIndex($arr); 
  
    if ($splitIndex == -1 or $splitIndex == $size) { 
        echo "No equal parts"; 
        return; 
    } 
    for ($i = 0; $i < $size; $i++) { 
        if ($splitIndex == $i) 
            echo "\n"; 
        echo $arr[$i], " "; 
    } 
} 
  
$arr1 = array(1, 2, 3, 4, 5, 5); 
printSplitParts($arr1); 

echo "\n";

$arr2 = array(1, 2, 3, 4, 5, 5, 1); 
printSplitParts($arr2); 




/*
run:

1 2 3 4 
5 5 
No equal parts

*/

 



answered Mar 11, 2021 by avibootz
...