题目
描述:
实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。
题目类别: 字符串
难度: 中级
运行时间限制: 10Sec
内存限制: 128MByte
阶段: 入职前练习
输入:
字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。
输出:
删除字符串中出现次数最少的字符后的字符串。
样例输入:
abcdd
样例输出:
dd
代码
#include <iostream>
#include <string>
#include <climits>
using namespace std;string DeleteMinChar(string str){string result = "";int size = str.size();if (size == 0) {return result;}//统计个数int a[256] = {0};for (int i = 0; i < size; i++) {++a[str[i]];}int min = INT_MAX;//得到最小的个数for (int j = 0; j < size; j++) {if (min > a[str[j]]) {min = a[str[j]];}} //去除最小个数的字符for (int k = 0; k < size; k+&#