题解 | #删除字符串中出现次数最少的字符#
删除字符串中出现次数最少的字符
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]); } } }