摘要:解题思路首先要明确一点,就是打乱的英文能够还原成数字,然后观察表格规律你就能发现,有的数字一个字母就能决定出现。所以我们从单个字母就能知晓的数字出发进行统计,用一个长度的数组来存储字母个数,然后对每一个数字一一统计,代码如下
解题思路:
首先要明确一点,就是打乱的英文能够还原成数字,然后观察表格规律你就能发现,有的数字一个字母就能决定出现。
所以我们从单个字母就能知晓的数字出发进行统计,用一个26int长度的数组来存储字母个数,然后对每一个数字一一统计,代码如下:
class Solution {public: string originalDigits(string s) { vector<int> count(26); vector<int> res(10); for(char& c : s) { count[c - "a"] ++; } res[0] = count[25]; res[2] = count[22]; res[4] = count[20]; res[6] = count[23]; res[8] = count[6]; res[3] = count[7] - res[8]; res[5] = count[5] - res[4]; res[7] = count[18] - res[6]; res[1] = count[14] - res[0] - res[2] -res[4]; res[9] = count[8] - res[5] - res[6] - res[8]; string ans; for(int i = 0; i < 10; i ++) { for(int j = 0; j < res[i]; j ++) { ans += to_string(i); } } return ans; }};
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/125053.html
摘要:每日一题从英文中重建数字链接从英文中重建数字题目分析首先我们先分析每个字母的组成,然后发现一些字符只在一个单词中出现,我们先去统计一下这些单词个数。统计完次数,按升序排列即可。 ...
摘要:解题思路一道非常简单的题目,不能被绕进去,首先要把题目读明白,左右坡度差本质上是左右子树和之差,那么问题就简单了,每次,返回的就是当前所在子树之和,更新坡度差的话就是当前左右子树之差,这两个要分开来计算,代码如下 ...
摘要:解题思路模拟题就按照题目意思来做题目分三种情况那我们也分三种情况通过设置用来标志第一位是大写还是小写小写的话直接通过后面的都不能大写来判断大写的话用记录后面的大写的个数为或者为字符串长度才符合要求代码如下代码 ...
摘要:解题思路一道并不简单的模拟题,需要考虑的情况总结下来有三种长度不同返回完全相同且有重复字符返回字符串有不相等的两个地方需要查看它们交换后是否相等即可。 解题思路:...
摘要:解题思路这题本质就是数学,需要分析,每个灯泡会被翻转的时机正好是他的约数次遍历的时候,那么我们其实知道,对于每个数的约数都是成对出现的,除非是完全平方数,会有奇数个约数,所以,最后完全平方数的灯泡会亮,题目也就变成了找 ...
阅读 1222·2021-11-25 09:43
阅读 1335·2021-09-26 09:55
阅读 2330·2021-09-10 11:20
阅读 3364·2019-08-30 15:55
阅读 1441·2019-08-29 13:58
阅读 1163·2019-08-29 12:36
阅读 2336·2019-08-29 11:18
阅读 3406·2019-08-26 11:47