Anant Anand Gupta
BAN USER// c# code
public static int getEqualSumString(string s)
{
// get the lenght of the string
int strLen = s.Length;
int i = strLen;
// is a an odd string the find the even string length
if (strLen % 2 != 0)
{
i--;
}
while (i >= 2) // smallest 2*N sized string
{
for (int strStart = 0; strStart <= strLen - i; strStart++)
{
string subString = s.Substring(strStart, i);
bool isFound = isEqualSum(subString);
if (isFound)
{
return i;
}
}
i -= 2;
}
return 0;
}
public static bool isEqualSum(String str)
{
int sumLeftN = 0;
int sumRightN = 0;
int len = str.Length / 2;
char[] chars = str.ToCharArray();
for (int i = 0; i < len; i++)
{
sumLeftN += Convert.ToInt32(chars[i].ToString());
}
for (int i = len; i < str.Length; i++)
{
sumRightN += Convert.ToInt32(chars[i].ToString());
}
return sumLeftN == sumRightN;
}
- Anant Anand Gupta June 29, 2013