建站公司山东济南兴田德润简介,口碑好的网页制作公司,网站界面设计的相关指南,重庆网站建设 渝给你一个字符串 s #xff0c;其中包含字母顺序打乱的用英文单词表示的若干数字#xff08;0-9#xff09;。按 升序 返回原始的数字。
示例 1#xff1a;
输入#xff1a;s “owoztneoer” 输出#xff1a;“012” 示例 2#xff1a;
输入#xff1a;s “fviefur…给你一个字符串 s 其中包含字母顺序打乱的用英文单词表示的若干数字0-9。按 升序 返回原始的数字。
示例 1
输入s “owoztneoer” 输出“012” 示例 2
输入s “fviefuro” 输出“45”
提示
1 s.length 105 s[i] 为 [“e”,“g”,“f”,“i”,“h”,“o”,“n”,“s”,“r”,“u”,“t”,“w”,“v”,“x”,“z”] 这些字符之一 s 保证是一个符合题目要求的字符串
这题比较蛋疼需要自己根据每个数字的英文单词的特殊字符依次判断先分析哪个数字顺序就是这个 ord[] {0, 8, 3, 2, 6, 4, 5, 1, 7, 9};
class Solution {
public:string originalDigits(string s) {string name[] {zero, one, two, three, four, five,six, seven, eight, nine};int ord[] {0, 8, 3, 2, 6, 4, 5, 1, 7, 9};unordered_mapchar, int cnt;for(auto c : s) cnt[c] ;string res;for(int x : ord) {while(true) {bool flag true;for(auto c : name[x]) {if(!cnt[c]) {flag false;break;}}if(flag) {res to_string(x);for(auto c: name[x]) cnt[c] --;} elsebreak;}}sort(res.begin(), res.end());return res;}
};