这道题刷的很犯难,看上去很简单,但是统计来统计去的真是有点难度,硬靠条件限制需要很高的思维和很长时间,必须学习一下c#的指针等知识
static void Main(string[] args)
{
string str = "abbxxxxzzy";
char[] resnumber = GetSeach(str);
Console.Write(resnumber);
Console.ReadKey();
}
#region 830 较大分组的位置
private static char[] GetSeach(string str)
{
char* cptr = stackalloc char[25];
int number = 0;
Dictionary<int, int> open = new Dictionary<int, int>();
int v1 = 0, v2 = 0;
char a;
char[] ch = str.ToCharArray();
if (str.Length <= 3)
return ch;
for (int i = 0; i < ch.Length; i++)
{
a = ch[i];
if (ch[i + 1] != null || ch[i + 1] != a)
{
//如果下一个字节不为空或者不相等,跳过
v1 = 0;
v2 = 0;
}
else if (ch[i+1]!=null||ch[i+1]==a)
{
number++;
continue;
}
if (number>=3&&number<4)
{
v1 = i - 2;
v2 = i;
}
}
}
#endregion