日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

华为java 优招面试题_2017华为优招笔试题

發(fā)布時(shí)間:2025/3/12 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 华为java 优招面试题_2017华为优招笔试题 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

哎,沒有接到筆試通知,不知道為啥就錯(cuò)過了。

之后見到題目,前兩道編程題。其實(shí)都見過類似的題目,有點(diǎn)思路,但是直接快速完整實(shí)現(xiàn)出來,水平還是達(dá)不到。

這樣的題目,也不算難,三道編程題至少AC兩道才算可以。但是自己還是寫代碼寫的少,需要多練習(xí),增加熟練度。

第一道題,統(tǒng)計(jì)一個(gè)字符串中,出現(xiàn)的字母字符串,數(shù)字字符串和其他字符組成的字符串的個(gè)數(shù)。

思想非常簡(jiǎn)單直觀,但對(duì)于邊界條件以及何時(shí)將統(tǒng)計(jì)的數(shù)量進(jìn)行增加要仔細(xì)考慮。

代碼如下:

#include

#include

using namespace std;

int main()

{

string str;

getline(cin,str);

int a[3] = { 0, 0, 0 };

for (int i = 0; i < str.length()-1;){

while (((str[i] >'A' && str[i] <= 'Z') || (str[i] >= 'a' && str[i] <= 'z')) && i

while (((str[i] >'A' && str[i] <= 'Z') || (str[i] >= 'a' && str[i] <= 'z')) && i

++i;

}

a[0]++;

break;

}

while ((str[i] >='0'&& str[i] <= '9' ) && i

while ((str[i] >= '0' && str[i] <= '9') && i

++i;

}

a[1]++;

break;

}

while ((str[i] >= 0 && str[i] <= 47) || (str[i] >= 58 && str[i] <= 64) || (str[i] >= 91 && str[i] <= 96) || (str[i] >= 123) && i

while ((str[i] >= 0 && str[i] <= 47) || (str[i] >= 58 && str[i] <= 64) || (str[i] >= 91 && str[i] <= 96) || (str[i] >= 123) && i

++i;

}

a[2]++;

break;

}

}

for (int m = 0; m < 3; m++){

cout << a[m];

if (m < 2){

cout << ",";

}

}

system("pause");

return 0;

}

第二題是將字符串按照單詞逐個(gè)反轉(zhuǎn)的題目,也是常見題目。一般思想都是做兩次翻轉(zhuǎn)。整個(gè)字符串翻轉(zhuǎn),然后將單詞逐個(gè)翻轉(zhuǎn)。

例如:輸入 i am student????? 輸出:student am i

代碼如下:

/*

對(duì)字符串進(jìn)行逐詞翻轉(zhuǎn);

*/

#include

using namespace std;

//編程實(shí)現(xiàn)字符串中各單詞的翻轉(zhuǎn)

//方法1

void Revese(char *str){

char *start = str, *end = str, *ptr = str; //開頭,結(jié)尾,中間指針

while (*ptr++ != '\0')

{

if (*ptr == ' ' || *ptr == '\0') //找到一個(gè)單詞

{

end = ptr - 1; //end指向單詞末尾

while (start

swap(*start++, *end--); //把單詞的字母逆置

start = end = ptr + 1; //指向下一個(gè)單詞開頭

}

}

start = str, end = ptr - 2;//start指向字符串開頭,end指向字符串末尾

while (start

{

swap(*start++, *end--);

}

}

int main()

{

char Str[30] = "i am from henan";

Revese(Str);

cout << Str << endl;

getchar();

return 0;

}

方法二:

#include "stdafx.h"

#include

using namespace std;

//編程實(shí)現(xiàn)字符串中各單詞的翻轉(zhuǎn)

//方法2

void Revese(char *str){

char *start=str,*end=str,*ptr=str;

while (*ptr++!='\0');

end=ptr-2; //找到字符串末尾

while (start

{

swap(*start++,*end--);//將整個(gè)字符串逆置

}

start=str;//指向字符串開頭

end=ptr-2;//指向字符串末尾

ptr=start;//指向字符串開頭

while (*ptr++!='\0')

{

if (*ptr==' '||*ptr=='\0') //找到一個(gè)單詞

{

end=ptr-1;//指向單詞末尾

while (start

{

swap(*start++,*end--);

}

start=end=ptr+1;//指向下一個(gè)單詞開頭

}

}

}

int _tmain(int argc, _TCHAR* argv[])

{

char Str[30]="i am from henan";

Revese(Str);

cout<

getchar();

return 0;

}

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的华为java 优招面试题_2017华为优招笔试题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。