其他分享
首页 > 其他分享> > leetcode423. 从英文中重建数字

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