Number of Ways to Split a String
PreviousString has same characters at same positionNextCheck whether two Strings are anagram of each other
Last updated
Last updated
public class Solution
{
public int CountWaysToSplit(string s)
{
int ways = 0;
if (s?.Length > 0)
{
int[] prefixCount = new int[26];
int[] suffixCount = new int[26];
int prefixUnique = 0;
int suffixUnique = 0;
foreach (char c in s)
{
if (suffixCount[c - 'a']++ == 0)
{
suffixUnique++;
}
}
for (int i = 0; i < s.Length - 1; i++)
{
if (prefixCount[s[i] - 'a']++ == 0)
{
prefixUnique++;
}
if (--suffixCount[s[i] - 'a'] == 0)
{
suffixUnique--;
}
if (prefixUnique == suffixUnique)
{
ways++;
}
}
}
return ways;
}
}