华为笔试第一题有bug

突然发现第一题有问题。
100%通过,但是使用的方法是奇数串和偶数串比较。
aabbcc这种也算合法的字符串。
所以测试样例有问题。#华为##笔试题目#
全部评论
条件不是要逆序和正序一样吗
点赞 回复
分享
发布于 2019-04-24 22:27
可以把第三题的代码贴出来吗??
点赞 回复
分享
发布于 2019-04-25 20:12
博乐游戏
校招火热招聘中
官网直投
//#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

相关推荐

点赞 3 评论
分享
牛客网
牛客企业服务