
Anyone provide optimum solution for Potholes problems
private static int PathHole(string L1, string L2)
{
int l = L1.Length;
int sum1 = 0, sum2 = 0;
for (int i = 0; i < l; i++)
{
if (L1[i] == 'X')
sum1++;
if (L2[i] == 'X')
sum2++;
}
int tmp1 = 0, tmp2 = 0, min = Int32.MaxValue;
for (int i = 0; i < l; i++)
{
if (L1[i] == 'X')
tmp1++;
if (L2[i] == 'X')
tmp2++;
int change = Math.Min(tmp1 + sum2 - tmp2, tmp2 + sum1 - tmp1) + (L2[i] == 'X' ? 1 : 0) + (L1[i] == 'X' ? 1 : 0);
min = Math.Min(min, Math.Min(sum1, Math.Min(sum2, change)));
}
return sum1 + sum2 - min;
}