11231123

int main()
{
int arr[] = { 1, 2, 3, 4, 6, 7,6 };
int hashTable[10000] = { 0, };
int start = 0;
int max = 1;
int size = sizeof(arr);
for (int i = 0; i < sizeof(arr) / sizeof(int); i++)
{
if (hashTable[arr[i]] >= start)
{
start = hashTable[arr[i]]; //记录上次此字符出现的index值;
}

hashTable[arr[i]] = i; //每个值对应的index设置到hashTable中,便于根据字符找到在arr中的index索引值;
if (max < i - start)
{
max = i - start; //计算再次出现的字符和之前出现的字符之前的index差
}

}
cout << "max:" << max << endl;
return 0;
}


//hashTable记录了所有数据元素值对应的index值;
//出现重复字符的时候,start变量记录上一次字符出现的index;

/*
int main()
{
char str[] = "adfacf";
char buf[1024] = {0,};

for (int i = 0; i < strlen(str); i++)
{
char tmp = str[i];
int index = -1;
for (int j = 0; j < strlen(buf); j++)
{
if (buf[j] == tmp)
{
index = j;
break;
}
else
{
index = -1;
}
}

if (index == -1)
{
buf[strlen(buf)] = tmp;
}
else
{
int strsize = strlen(buf) - index - 1;
memmove(buf, (char*)(buf + index + 1), strlen(buf) - index - 1);
memset((char*)(buf + strsize), 0, sizeof(buf) - strsize);
buf[strlen(buf)] = tmp;
}
cout << "buf size:" << strlen(buf) << " :" << buf << endl;
}

cout << buf << endl;

return 0;
}
*/

青青园中葵,朝露待日晞。 阳春布德泽,万物生光辉。 常恐秋节至,焜黄华叶衰。 百川东到海,何时复西归? 少壮不努力,老大徒伤悲!
原文地址:https://www.cnblogs.com/weiyouqing/p/14464536.html