题解 | #删除字符串中出现次数最少的字符#
删除字符串中出现次数最少的字符
https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
#include <stdio.h>
#include <string.h>
#define Min(x,y) (x<y?x:y)
int main() {
char str[21];
scanf("%s",str);
int t[21];
for(int i=0;i<21;i++)
{
t[i]=1;
}
int m[21];
for(int i=0;i<21;i++)
{
m[i]=1;
}
int l;
l=strlen(str);
for(int i=0;i<l;i++){
for(int j=i+1;j<l;j++)
{
if((t[j]!=0)&&(str[i]==str[j]))
{
t[i]++;
t[j]=0;
}
}
}
int min;
min=20;
for(int i=0;i<l-1;i++)
{
if(t[i]!=0&&t[i+1]!=0)
{ int a;
a=Min(t[i],t[i+1]);
min=Min(min,a);
}
}
for(int i=0;i<l;i++)
{
if(t[i]==min)
{
for(int j=0;j<l;j++){
if(str[i]==str[j])
{
m[j]=0;
}
}
}
}
for(int i=0;i<l;i++)
{
if(m[i]!=0)
{
printf("%c",str[i]);
}
}
}

查看8道真题和解析