423. 从英文中重建数字
生活随笔
收集整理的這篇文章主要介紹了
423. 从英文中重建数字
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
423. 從英文中重建數(shù)字
給你一個(gè)字符串 s ,其中包含字母順序打亂的用英文單詞表示的若干數(shù)字(0-9)。按 升序 返回原始的數(shù)字。
例 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 保證是一個(gè)符合題目要求的字符串
解題思路
首先我們可以統(tǒng)計(jì)每個(gè)字母分別在哪些數(shù)字中出現(xiàn):
字母 數(shù)字 e 0 1 3 5 7 8 9 f 4 5 g 8 h 3 8 i 5 6 8 9 n 1 7 9 o 0 1 2 4 r 0 3 4 s 6 7 t 2 3 8 u 4 v 5 7 w 2 x 6 z 0代碼
class Solution { public:string originalDigits(string s) {map<char,int> m;for (auto c:s) ++m[c];m['8']=m['g'];m['4']=m['u'];m['2']=m['w'];m['6']=m['x'];m['0']=m['z'];m['3']=m['h']-m['8'];m['7']=m['s']-m['6'];m['5']=m['f']-m['4'];m['1']=m['o']-m['0']-m['2']-m['4'];m['9']=m['i']-m['5']-m['6']-m['8'];string res;for (int i = 0; i < 10; ++i) {for (int j = 0; j < m['0'+i]; ++j) {res+=char ('0'+i);}}return res;} };總結(jié)
以上是生活随笔為你收集整理的423. 从英文中重建数字的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到钓鱼是什么意思周公解梦
- 下一篇: 特别想梦到一个人有什么方法