中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      華為上機(jī)試題

      時(shí)間:2024-09-20 19:40:10 華為認(rèn)證 我要投稿

      華為上機(jī)試題匯總

        華為上機(jī)考試有哪些考點(diǎn)呢?下面跟yjbys小編一起來看看吧!希望這些上機(jī)試題能幫助大家順利通過考試!

      華為上機(jī)試題匯總

        地區(qū)一:

        1. 編寫函數(shù)string deletestring(string str,string sub_str)從str中查找匹配的字符串sub_str,采用最左匹配,且輸出形式為str+"_"+匹配的次數(shù)

        題目一的意思應(yīng)該是求解字符串str中子字符串sub_str的個(gè)數(shù),同時(shí)輸出形式采用原字符串+"_"匹配次數(shù)

        相信大家第一反應(yīng)應(yīng)該是采用kmp,那么下面給出常規(guī)優(yōu)化kmp程序如下(采用字符串?dāng)?shù)組形式):

        #include

        using namespace std;

        int next[100];

        void getnext(char b[])

        {

        int i=1,j=0; //ij

        next[1]=0;

        while(i<=strlen(b))

        {

        if(j==0||b[i-1]==b[j-1])

        {

        i++;

        j++;

        next[i]=j;

        }

        else j=next[j]; //

        }

        }

        int kmp(char a[],char b[])

        {

        int i=1,j=1; //i j

        while(i<=strlen(a)&&j<=strlen(b))

        {

        if(j==0||a[i-1]==b[j-1])

        {

        i++;

        j++;

        }

        else j=next[j];

        }

        if(j>strlen(b))

        return i-strlen(b);

        else return 0;

        }

        2. 高精度數(shù)相加,string addBigInt(string num1,string num2) 需要考慮正負(fù)數(shù)相加

        這道題是高精度計(jì)算中的最最簡單的一題:

        目的是模擬人手工運(yùn)算的過程,進(jìn)而進(jìn)行結(jié)果的現(xiàn)實(shí);

        參考代碼(編譯環(huán)境:Visual Studio 6):

        地區(qū)二:

        第一題【20分】:鑒定回文數(shù)組

        給定一個(gè)數(shù)組判斷是否是回文,這題沒什么好說明,直接看代碼:

        1 #include

        2 using namespace std;

        3

        4 bool isHuiWen(string s)

        5 {

        6 int length_s=s.length();

        7 int i=0;

        8 for(i=0;i<(length_s>>1);i++)

        9 {

        10 if(s.at(i)!=s.at(length_s-1-i))

        11 return false;

        12 }

        13 return true;

        14 }

        15

        16 int main()

        17 {

        18 string ss="iloveevolis";

        19 if(isHuiWen(ss))

        20 {

        21 cout<<"Huiwen"<

        22 }

        23 else

        24 {

        25 cout<<"No"<

        26 }

        27 return 1;

        28 }

        第二題【30分】:求兩個(gè)整型數(shù)組的異集,即A+B-(A與B的交集)。

        這里只是提供我的一個(gè)思路:

        這個(gè)問題的求解可以簡化為統(tǒng)計(jì)數(shù)組A B中任何字符的個(gè)數(shù),A+B-(A與B的交集)的結(jié)果就是統(tǒng)計(jì)僅僅出現(xiàn)過一次的數(shù)字:

        但是題目中沒有限制是字符,而是整形,數(shù)據(jù)量太大,這里借用了map操作,進(jìn)行簡化內(nèi)存:

        針對這個(gè)思路程序如下:

        1 #include

        2 #include

        3 using namespace std;

        4

        5 map mi;

        6 map::iterator mit;

        7 int A[10]={1,2,3,4,5,6,3,2,8,9};

        8 int B[10]={8,7,6,5,9,0,3,4,8,40};

        9 int R[20];

        10 int RC=0;

        11

        12

        13 void getAB(int* a,int na,int* b,int nb)

        14 {

        15 string re;

        16 mi.clear();

        17 for(int i=0;i

        18 {

        19 mit=mi.find(a[i]);

        20 if(mit!=mi.end())

        21 {

        22 mit->second++;

        23 }

        24 else

        25 {

        26 mi.insert(make_pair(a[i],1));

        27 }

        28 }

        29

        30 for(i=0;i

        31 {

        32 mit=mi.find(b[i]);

        33 if(mit!=mi.end())

        34 {

        35 mit->second++;

        36 }

        37 else

        38 {

        39 mi.insert(make_pair(b[i],1));

        40 }

        41 }

        42

        43 for(mit=mi.begin(),i=0;mit!=mi.end();mit++)

        44 {

        45 if(mit->second==1)

        46 {

        47 R[i++]=mit->first;

        48 }

        49 }

        50 RC=i;

        51 }

        52

        53 int main()

        54 {

        55 getAB(A,10,B,10);

        56 for(int i=0;i

        57 {

        58 cout<

        59 }

        60 return 1;

        61 }

        第三題【50分】:判定德州撲克的牌型。給5張牌,返回它的牌型,4個(gè)的,3個(gè)+對子,順子,3個(gè)+2個(gè)單張,2對,1對,其他。

        德州撲克我還是很喜歡玩的,其中牌型牌型可以有近10中結(jié)果,題目僅僅讓我們判斷七種。但是這七種結(jié)果不具有繼承性,所以我們設(shè)計(jì)一個(gè)好的程序。

        那么就要統(tǒng)一他們的表現(xiàn)形式,下面是我的思路:

        排序

        判斷跳變次數(shù)

        進(jìn)行篩選結(jié)果

        這樣可以較為統(tǒng)一的處理各種結(jié)果,參考程序如下:

        1 #include

        2 #include

        3 using namespace std;

        4

        5 struct Node{

        6 char type;//0 1 2 3四種花色,可以考慮用enum類型

        7 int v;//面值

        8 };

        9

        10 Node N[5]={

        11 {0,5},

        12 {0,9},

        13 {0,2},

        14 {0,9},

        15 {0,9},

        16 };

        17

        18 int n_of_v[5]={0,0,0,0,0};

        19

        20 bool myCMP(Node& a,Node& b)

        21 {

        22 return a.v>b.v;

        23 }

        24

        25 bool myNCMP(int a,int b)

        26 {

        27 return a>b;

        28 }

        29

        30 //獲取每個(gè)的個(gè)數(shù)

        31 int getN(Node* Nv)

        32 {

        33 int i=0;

        34 int j=0;

        35 int n=1;

        36 for(i=0;i<4;i++)

        37 {

        38 if(Nv[i].v==Nv[i+1].v)

        39 {

        40 n++;

        41 }

        42 else

        43 {

        44 n_of_v[j++]=n;

        45 n=1;

        46 }

        47 }

        48 n_of_v[j++]=n;

        49 return j;

        50 }

        51

        52 void showResult()

        53 {

        54 if(n_of_v[0]==4)

        55 {

        56 cout<<"4+1"<

        57 }

        58 else if(n_of_v[0]==3&&n_of_v[1]==2)

        59 {

        60 cout<<"3+2"<

        61 }

        62 else if(n_of_v[0]==3&&n_of_v[1]==1)

        63 {

        64 cout<<"3+1+1"<

        65 }

        66 else if(n_of_v[0]==2&&n_of_v[1]==2)

        67 {

        68 cout<<"2+2+1"<

        69 }

        70 else if(n_of_v[0]==2&&n_of_v[1]==1)

        71 {

        72 cout<<"2+1+1+1"<

        73 }

        74 else if(n_of_v[0]==1)

        75 {

        76 //可能是順子

        77 if(N[0].v==N[1].v+1

        78 &&N[1].v==N[2].v+1

        79 &&N[2].v==N[3].v+1

        80 &&N[3].v==N[4].v+1)

        81 {

        82 cout<<"不好意思,出了個(gè)順子"<

        83 }

        84 else

        85 cout<<"五張單牌"<

        86 }

        87 }

        88

        89 //傳入大小為5的結(jié)構(gòu)體數(shù)組

        90 //進(jìn)行判斷

        91 int getType(Node* Nv)

        92 {

        93 //首先排序

        94 sort(N,N+5,myCMP);

        95 //提取個(gè)數(shù)

        96 getN(Nv);

        97 sort(n_of_v,n_of_v+5,myNCMP);

        98

        99 //根據(jù)n_數(shù)組進(jìn)行判斷

        100

        101 if(n_of_v[0]==4)

        102 {

        103 cout<<"四個(gè)一樣的哦"<

        104 }

        105

        106 return 1;

        107 }

        108 int main()

        109 {

        110 getType(N);

        111 showResult();

        112 return 1;

        113 }

      【華為上機(jī)試題】相關(guān)文章:

      華為Java上機(jī)考試題07-04

      2016年華為上機(jī)考試題10-27

      華為筆試題及答案11-01

      word上機(jī)測試題及答案02-24

      華為JAVA考試試題11-01

      華為認(rèn)證最新試題及答案08-28

      excel上機(jī)測試題「附解答」07-28

      2017華為筆試面試試題06-30

      華為2017筆試試題07-06

      主站蜘蛛池模板: 久久婷婷国产五月综合色| 延安市| 91亚洲欧洲日产国码精品| 国产欧美久久久精品影院| 中文字幕日本熟妇少妇| 国产精品亚洲一区二区v3d| 欧美日韩一二三区高在线| 新泰市| 久久综合久久综合老熟女| 一区二区三区国产美女在线播放| 国产激情视频在线观看你懂的| 久久精品国产亚洲av热九| 雅安市| 华蓥市| 免费视频这里是精品视频 | 日韩人妻中文字幕一区二区三区| 国产尤物二区三区在线观看| 泸西县| 墨竹工卡县| 六盘水市| 银川市| 义马市| 德庆县| 宁国市| 亚洲国产一区二区在线| 西城区| 久久亚洲中文字幕精品一区四| 久久一区av蜜桃人妻| 巴彦淖尔市| 97人妻蜜臀中文字幕| 色婷婷亚洲十月十月色天| 海淀区| 国产成人福利在线视频不卡 | 夏河县| 邹城市| 永久免费不卡在线观看黄网站| 精品久久杨幂国产杨幂| 亚洲av色香蕉一区二区三区精品| 18禁黄无遮挡免费网站| 亚洲AV秘 无套一区二区三区| 精品蜜桃av一区二区三区|