华为笔试第一题有bug

突然发现第一题有问题。
100%通过,但是使用的方法是奇数串和偶数串比较。
aabbcc这种也算合法的字符串。
所以测试样例有问题。#华为##笔试题目#
全部评论
//#include "pch.h" #include <iostream> #include <string> #include <vector> #include <algorithm> using namespace std; void onlyOne( vector<string> vs, vector<int> &v, vector<int> &rev, char sCh, int sNum) {     // 处理具有唯一字符的单词     int cNum;    // 数字数量     int pos;     pos = sCh - 'a';     cNum = v[pos];     if ( cNum > 0 ) {         for ( auto ch : vs[sNum] )             v[ch - 'a'] -= cNum;         while ( cNum > 0 ) {             rev.push_back(sNum);             cNum--;         }     } } int main(void) {     /* 1 one 2 two 3 three 4 four 5 five 6 six 7 seven 8 eight 9 nine     */     vector<int> v( 26, 0);     string gs;     cin >> gs;     if ( gs.size() == 0 )         return 0;     for ( auto a : gs ) {         if ( a >= 'A' && a <= 'Z' )             ++(v[a-'A']);         else if ( a >= 'a' && a <= 'z' )             ++(v[a-'a']);     } /*             a b c d e f g h i j k l m n o p q r s t u v w x y z             0 0 0 0 8 2 1 2 4 0 0 0 0 4 3 0 0 2 2 3 1 2 1 1 0 1             a b c d e f g h i j k l m n o p q r s t u v w x y z             0 0 0 0 8 2 1 2 4 0 0 0 0 4 3 0 0 2 2 3 1 2 1 1 0 0             a b c d e f g h i j k l m n o p q r s t u v w x y z             0 0 0 0 7 1 0 1 2 0 0 0 0 4 1 0 0 1 1 1 0 2 0 0 0 0             a b c d e f g h i j k l m n o p q r s t u v w x y z             0 0 0 0 1 0 0 0 1 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0             a b c d e f g h i j k l m n o p q r s t u v w x y z             0 0 0 0 1 0 0 0 1 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 */     vector<string> vs(10);     vs[0] = "zero";            // z0 0-     vs[1] = "one";            // o1 -     vs[2] = "two";            // w0     vs[3] = "three";        // r3 -     vs[4] = "four";            // u0     vs[5] = "five";            // f5 -     vs[6] = "six";            // x0     vs[7] = "seven";        // s7 -     vs[8] = "eight";        // g0     vs[9] = "nine";            // e9     // 统计各字符个数     vector<int> v26( 26, 0);     for ( size_t i = 0; i < vs.size(); i++ ) {         string &temp = vs[i];         for ( auto ch : temp)             ++(v26[ch-'a']);     }     vector<int> rev;     // 处理具有唯一字符的单词     // 0     onlyOne(vs, v, rev, 'z', 0); // w2     // 1     onlyOne( vs, v, rev, 'w', 2); // w2     onlyOne( vs, v, rev, 'u', 4); // u4     onlyOne( vs, v, rev, 'x', 6); // x6     onlyOne( vs, v, rev, 'g', 8); // g8     // 2     onlyOne(vs, v, rev, 'f', 5); // f5     onlyOne(vs, v, rev, 'o', 1); // o1     onlyOne(vs, v, rev, 'r', 3); // r3     onlyOne(vs, v, rev, 's', 7); // s7     // 3     onlyOne(vs, v, rev, 'e', 9); // e9     sort(rev.begin(),rev.end());     for ( auto i : rev )         cout << i;     cout << endl;     return 0; }
点赞 回复 分享
发布于 2019-04-26 09:10
可以把第三题的代码贴出来吗??
点赞 回复 分享
发布于 2019-04-25 20:12
条件不是要逆序和正序一样吗
点赞 回复 分享
发布于 2019-04-24 22:27

相关推荐

ALEX_BLX:虽然说聊天记录不可信,不过这个趋势确实如此但我觉得也要想到一点就是卷后端的人里真正有“料”的人又有多少,我说的这个料都不是说一定要到大佬那种级别,而是就一个正常的水平。即使是现在也有很多人是跟风转码的,2-3个月速成后端技术栈的人数不胜数,但今时不同往日没可能靠速成进大厂了。这种情况就跟考研一样,你能上考场就已经打败一半的人了
点赞 评论 收藏
分享
吐泡泡的咸鱼:我也工作了几年了,也陆陆续续面试过不少人,就简历来说,第一眼学历不太够,你只能靠你的实习或者论文或者项目经历,然后你没有论文,没有含金量高的比赛和奖项,只能看实习和项目,实习来说,你写的实习经历完全不清楚你想找什么工作?行研?数据分析?且写的太少了,再看项目,这些项目先不说上过大学读过研究生的都知道很水,然后对你想找的岗位有什么帮助呢?项目和实习也完全不匹配啊,你好像在努力将你所有的经历都放在简历里想表现你的优秀,但是对于你想找的岗位来说,有什么用呢?最后只能获得岗位不匹配的评价。所以你需要明白你想要找的岗位要求是什么,是做什么的,比如产品经理,然后再看你的经历里有什么匹配的上这个岗位,或者对这个岗位以及这个岗位所在的公司有价值,再写到你的简历上
点赞 评论 收藏
分享
评论
点赞
3
分享

创作者周榜

更多
牛客网
牛客企业服务