博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
423 Reconstruct Original Digits from English 从英文中重建数字
阅读量:5290 次
发布时间:2019-06-14

本文共 2058 字,大约阅读时间需要 6 分钟。

给定一个非空字符串,其中包含字母顺序打乱的英文单词表示的数字0-9。按升序输出原始的数字。

注意:
    输入只包含小写英文字母。
    输入保证合法并可以转换为原始的数字,这意味着像 "abc" 或 "zerone" 的输入是不允许的。
    输入字符串的长度小于 50,000。
示例 1:
输入: "owoztneoer"
输出: "012" (zeroonetwo)
示例 2:
输入: "fviefuro"
输出: "45" (fourfive)
详见:https://leetcode.com/problems/reconstruct-original-digits-from-english/description/

C++:

方法一:

class Solution {public:    string originalDigits(string s) {        string res = "";        vector
counts(128, 0), nums(10, 0); for (char c : s) { ++counts[c]; } nums[0] = counts['z']; nums[2] = counts['w']; nums[4] = counts['u']; nums[6] = counts['x']; nums[8] = counts['g']; nums[1] = counts['o'] - nums[0] - nums[2] - nums[4]; nums[3] = counts['h'] - nums[8]; nums[5] = counts['f'] - nums[4]; nums[7] = counts['s'] - nums[6]; nums[9] = counts['i'] - nums[6] - nums[8] - nums[5]; for (int i = 0; i < nums.size(); ++i) { for (int j = 0; j < nums[i]; ++j) { res += (i + '0'); } } return res; }};

 方法二:

class Solution {public:    string originalDigits(string s) {        string res = "";        vector
words{"zero", "two", "four", "six", "eight", "one", "three", "five", "seven", "nine"}; vector
nums{0, 2, 4, 6, 8, 1, 3, 5, 7, 9}, counts(26, 0); vector
chars{'z', 'w', 'u', 'x', 'g', 'o', 'h', 'f', 's', 'i'}; for (char c : s) { ++counts[c - 'a']; } for (int i = 0; i < 10; ++i) { int cnt = counts[chars[i] - 'a']; for (int j = 0; j < words[i].size(); ++j) { counts[words[i][j] - 'a'] -= cnt; } while (cnt--) { res += (nums[i] + '0'); } } sort(res.begin(), res.end()); return res; }};

 参考:https://www.cnblogs.com/grandyang/p/5996239.html

转载于:https://www.cnblogs.com/xidian2014/p/8857212.html

你可能感兴趣的文章
细读 php json数据和JavaScript json数据
查看>>
第五章 如何使用Burp Target
查看>>
Sprint阶段测试评分总结
查看>>
Servlet3.0新特性
查看>>
java内存溢出怎么解决
查看>>
JS对象以及"继承"
查看>>
Ewebeditor最新漏洞及漏洞大全
查看>>
socket计划编制的原则
查看>>
sqlite3经常使用命令&amp;语法
查看>>
[leetcode] 309. Best Time to Buy and Sell Stock with Cooldown(medium)
查看>>
解决微信授权回调页面域名只能设置一个的问题 [php]
查看>>
数组去重一步到位
查看>>
HDU 4671 Backup Plan 构造
查看>>
linux下编译openjdk8
查看>>
【python】--迭代器生成器装饰器
查看>>
Pow(x, n)
查看>>
安卓当中的线程和每秒刷一次
查看>>
MySQL Proxy
查看>>
关于Vue的组件的通用性问题
查看>>
随机颜色值
查看>>