2018華為校招機試題目練習

2021-08-17 12:16:51 字數 2403 閱讀 8777

1.數字處理

題目描述:給出乙個不多於5位的整數,進行反序處理,要求

(1)求出它是幾位數

(2)分別輸出每乙個數字(空格隔開)

(3)按逆序輸出各位數字(僅數字間以空格間隔,負號與數字之間不需要間隔)

輸入描述:位數不大於5的整數

輸出描述:1.整數字數 2.空格間隔輸出結果 3.逆序整數

#include#includeusing namespace std;

int main()

cout << length << endl;

for (int i = 0; i < length; i++)

cout << endl;

if (sign)

for (int i = length - 1; i >= 0; i--)

cout << endl;

}}

輸入四個ip端,前兩個為第乙個ip段的起始和終止位址,後兩個是第二個ip段的起始和終止位址,判斷這兩個ip段是否存在交集

輸入描述:輸入4個ip

輸出描述:如果存在交集,輸出 overlap ip ; 如果不存在交集,輸出 no overlap ip 

注意
數值範圍,int為2^15-1,long為2^31-1,unsigned long為2^32-1,long long為2^63-1
long long str2num(string str)

s[3] = str.substr(index);

long long num = stoul(s[0]) * 256 * 256 * 256 + stoul(s[1]) * 256 * 256 + stoul(s[2]) * 256 + stoul(s[3]);

return num;//注意數值範圍,int為2^15-1,long為2^31-1,unsigned long為2^32-1

}int main()

else

cout << "overlap ip" << endl;

}}

3
給定字串內有很多正整數,要求對這些正整數進行排序,然後返回排序後指定位置的正整數 

排序要求:按照每個正整數的後三位數字組成的整數進行從小到大排序

1)如果不足三位,則按照實際位數組成的整數進行比較

2)如果相等,則按照輸入字串中的原始順序排序

說明(以下內容考生無須檢查,呼叫者保證):

1) 字串以』\0』結尾,僅包含數字、空格

2) 字串內正整數之間以單個空格分隔,字串首尾沒有空格

3) 正整數格式為十進位制,大小:1~1000000,正整數的數字非零開始

示例:如字串內容

1223 22 3232 2016

按照規定排序後

2016 22 1223 3232

查詢排序後的第3個數是

1223乙個數的後三位可以直接用 num%1000就可以了,就取到了後3位

//3題

//思路一,比較明顯的桶排序

vectorsplitstr(string str)

; for (int i = 0; i < length; i++)

bucket[num[i] / e % 10]++;

for (int i = 1; i < 10; i++)

bucket[i] += bucket[i - 1];

for (int i = length - 1; i >= 0; i--)

output[--bucket[num[i] / e % 10]] = num[i];

for (int i = 0; i < length; i++)

num[i] = output[i];

return num;

}int main()

cout << num[n - 1] << endl;

}}

//思路二,用簡單的選擇排序來做

vectorsplitstr1(string str)

return n;

}vectorsortstr(vectornum, vectorsubnum)

}

2023年華為校招機試題目

2014年華為校招機試題目 通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串壓縮程式,將字串中連續出席的重複 字母進行壓縮,並輸出壓縮後的字串。壓縮規則 1.僅壓縮重複出現的字元。比如字串 abcbc 由於無 連續重複字元,壓縮後的字串還是 abcabc 2.壓縮欄位的格式為 字元重複的...

2016校招華為機試題目回憶1

根據指定的分隔符分隔字串,並輸出指定的段。如果指定的段超過分隔的段數,輸出 null 舉例 aaa?bbb?ccc?2 字串為 aaa?bbb?ccc?分隔符為 指定的段為 2 字串分割為 aaa bbb ccc共三段,第2段字串為 bbb 輸入分隔字串長度小於128個字元,指定的段是乙個正整數。輸...

2015華為校招機試題

第一題 60分 按要求分解字串,輸入兩個數m,n m代表輸入的m串字串,n代表輸出的每串字串的位數,不夠補0。例如 輸入2,8,abc 123456789 則輸出為 abc00000 12345678 90000000 include include include 華為2015年第一道上機題 vo...