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 C#

1 Answer

0 votes
using System;
					
public class Program
{
	static int getSplitIndex(int []arr) { 
      	int size = arr.Length;
        int leftSum = 0 ; 

        for (int i = 0; i < size; i++) { 
            leftSum += arr[i]; 
      
            int rightSum = 0; 
            for (int j = i + 1; j < size; j++) 
                rightSum += arr[j]; 
      
            if (leftSum == rightSum) 
                return i + 1; 
        } 
  
        return -1; 
    }  

    static void printSplitParts(int []arr) { 
        int size = arr.Length;
		int splitIndex = getSplitIndex(arr); 
      
        if (splitIndex == -1 || splitIndex == size) { 
            Console.Write("No equal parts"); 
            return; 
        } 
          
        for (int i = 0; i < size; i++) { 
            if (splitIndex == i) 
            	Console.WriteLine(); 
                  
            Console.Write(arr[i] + " "); 
        } 
    } 
	public static void Main()
	{
		int []arr1 = {1, 2, 3, 4, 5, 5}; 
        printSplitParts(arr1); 
		
		Console.WriteLine();
		
		int []arr2 = {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
...