map <char,int> m;
map <char, int> :: iterator pos;
int main()
{
int t,n,i,max;
string str;
cin>>t; // testcase
while(t--)
{
max=1;
cin>>n;
for(i=0;i<n;i++)
{
m[str[i]]=0;
}
for(i=0;i<n;i++)
{
cin>>str[i];
m[str[i]]=m[str[i]]+1;
}
for(i=0;i<n;i++)
{
if(m[str[i]]>max)
{
max=m[str[i]];
}
}
cout<<n-max<<endl;
}
return 0;
}
现在为什么这段代码在每次编译时都会给出运行时错误..我在ideone.com上使用在线平台进行编译但它给出了同样的错误..请帮助解决这个问题
答案 0 :(得分:2)
当您访问字符串中的字符时:
str[i]
该字符串的长度必须至少为i+1
,您的字符串为空。