leetcode423. 从英文中重建数字
作者:互联网
https://leetcode-cn.com/problems/reconstruct-original-digits-from-english/
class Solution {
public:
string originalDigits(string s) {
string ret;
unordered_map<char,int> mpC;
for(int i=0;i<s.size();i++){
mpC[s[i]]++;
}
unordered_map<int,int> mpN;
mpN[0] = mpC['z'];//有多少z就有多少0
mpN[2] = mpC['w'];//有多少w就有多少2
mpN[4] = mpC['u'];//有多少u就有多少4
mpN[6] = mpC['x'];//有多少x就有多少6
mpN[8] = mpC['g'];//有多少g就有多少8
mpN[3] = mpC['h']-mpN[8];//3里的h数目等于总的h数目减去8里的h数目
mpN[5] = mpC['f']-mpN[4];//5里的f数目等于总的f数目减去4里的f数目
mpN[7] = mpC['s']-mpN[6];//7里的s数目等于总的s数目减去6里的s数目
mpN[9] = mpC['i']-mpN[5]-mpN[6]-mpN[8];
//9里的i的数目等于总的i的数目减去5的、6的和8的
mpN[1] = mpC['n']-mpN[7]-2*mpN[9];
//1里的n的数目等于总的n的数目减去7的和9的
for(int i=0;i<=9;i++){
while(mpN[i]>0){
mpN[i]--;
ret=ret+to_string(i);
}
}
return ret;
}
};
标签:leetcode423,mpC,mpN,ret,英文,数目,多少,string,重建 来源: https://blog.csdn.net/Chevy_cxw/article/details/118609563