中文国产日韩欧美视频,午夜精品999,色综合天天综合网国产成人网,色综合视频一区二区观看,国产高清在线精品,伊人色播,色综合久久天天综合观看

微軟、百度、聯(lián)想等名企C++筆試題

時(shí)間:2018-12-31 12:00:00 資料大全 我要投稿

微軟、百度、聯(lián)想等名企C++筆試題匯總

  微軟十五道筆試

微軟、百度、聯(lián)想等名企C++筆試題匯總

  1、有一個(gè)整數(shù)數(shù)組,請(qǐng)求出兩兩之差絕對(duì)值最小的值,記住,只要得出最小值即可,不需要求出是哪兩個(gè)數(shù),

微軟、百度、聯(lián)想等名企C++筆試題匯總

。

  2、寫一個(gè)函數(shù),檢查字符是否是整數(shù),如果是,返回其整數(shù)值。

  (或者:怎樣只用4行代碼編寫出一個(gè)從字符串到長整形的函數(shù)?)

  3、給出一個(gè)函數(shù)來輸出一個(gè)字符串的所有排列。

  4、請(qǐng)編寫實(shí)現(xiàn)malloc()內(nèi)存分配函數(shù)功能一樣的代碼。

  給出一個(gè)函數(shù)來復(fù)制兩個(gè)字符串A和B。字符串A的后幾個(gè)字節(jié)和字符串B的前幾個(gè)字節(jié)重疊。

  5、怎樣編寫一個(gè)程序,把一個(gè)有序整數(shù)數(shù)組放到二叉樹中?

  6、怎樣從頂部開始逐層打印二叉樹結(jié)點(diǎn)數(shù)據(jù)?請(qǐng)編程。

  7、怎樣把一個(gè)鏈表掉個(gè)順序(也就是反序,注意鏈表的邊界條件并考慮空鏈表)?

  8、請(qǐng)編寫能直接實(shí)現(xiàn)int atoi(const char * pstr)函數(shù)功能的代碼。

  9、編程實(shí)現(xiàn)兩個(gè)正整數(shù)的除法

  編程實(shí)現(xiàn)兩個(gè)正整數(shù)的除法,當(dāng)然不能用除法操作符。

  // return x/y.

  int div(const int x, const int y)

  {

  ....

  }

  10、在排序數(shù)組中,找出給定數(shù)字的出現(xiàn)次數(shù)

  比如 [1, 2, 2, 2, 3] 中2的出現(xiàn)次數(shù)是3次。

  11、平面上N個(gè)點(diǎn),每兩個(gè)點(diǎn)都確定一條直線,

  求出斜率最大的那條直線所通過的兩個(gè)點(diǎn)(斜率不存在的情況不考慮)。時(shí)間效率越高越好。

  12、一個(gè)整數(shù)數(shù)列,元素取值可能是0~65535中的任意一個(gè)數(shù),相同數(shù)值不會(huì)重復(fù)出現(xiàn)。0是例外,可以反復(fù)出現(xiàn)。

  請(qǐng)?jiān)O(shè)計(jì)一個(gè)算法,當(dāng)你從該數(shù)列中隨意選取5個(gè)數(shù)值,判斷這5個(gè)數(shù)值是否連續(xù)相鄰。

  注意:

  - 5個(gè)數(shù)值允許是亂序的。比如: 8 7 5 0 6

  - 0可以通配任意數(shù)值。比如:8 7 5 0 6 中的0可以通配成9或者4

  - 0可以多次出現(xiàn)。

  - 復(fù)雜度如果是O(n2)則不得分。

  13、設(shè)計(jì)一個(gè)算法,找出二叉樹上任意兩個(gè)結(jié)點(diǎn)的最近共同父結(jié)點(diǎn)。

  復(fù)雜度如果是O(n2)則不得分。

  14、一棵排序二叉樹,令 f=(最大值+最小值)/2,

  設(shè)計(jì)一個(gè)算法,找出距離f值最近、大于f值的結(jié)點(diǎn)。

  復(fù)雜度如果是O(n2)則不得分。

  15、一個(gè)整數(shù)數(shù)列,元素取值可能是1~N(N是一個(gè)較大的正整數(shù))中的任意一個(gè)數(shù),相同數(shù)值不會(huì)重復(fù)出現(xiàn)。

  設(shè)計(jì)一個(gè)算法,找出數(shù)列中符合條件的數(shù)對(duì)的個(gè)數(shù),滿足數(shù)對(duì)中兩數(shù)的和等于N+1。

  復(fù)雜度最好是O(n),如果是O(n2)則不得分。

  谷歌八道筆試題

  16、正整數(shù)序列Q中的每個(gè)元素都至少能被正整數(shù)a和b中的一個(gè)整除,現(xiàn)給定a和b,需要計(jì)算出Q中的前幾項(xiàng),例如,當(dāng)a=3,b=5,N=6時(shí),序列為3,5,6,9,10,12

  (1)、設(shè)計(jì)一個(gè)函數(shù)void generate(int a,int b,int N ,int * Q)計(jì)算Q的前幾項(xiàng)

  (2)、設(shè)計(jì)測(cè)試數(shù)據(jù)來驗(yàn)證函數(shù)程序在各種輸入下的正確性。

  17、有一個(gè)由大小寫組成的字符串,現(xiàn)在需要對(duì)他進(jìn)行修改,將其中的所有小寫字母排在答謝字母的前面(大寫或小寫字母之間不要求保持原來次序),如有可能盡量選擇時(shí)間和空間效率高的算法 c語言函數(shù)原型void proc(char *str)也可以采用你自己熟悉的語言

  18、如何隨機(jī)選取1000個(gè)關(guān)鍵字

  給定一個(gè)數(shù)據(jù)流,其中包含無窮盡的搜索關(guān)鍵字(比如,人們?cè)诠雀杷阉鲿r(shí)不斷輸入的關(guān)鍵字)。如何才能從這個(gè)無窮盡的流中隨機(jī)的選取1000個(gè)關(guān)鍵字?

  19、判斷一個(gè)自然數(shù)是否是某個(gè)數(shù)的平方

  說明:當(dāng)然不能使用開方運(yùn)算。

  20、給定能隨機(jī)生成整數(shù)1到5的函數(shù),寫出能隨機(jī)生成整數(shù)1到7的函數(shù)。

  21、1024! 末尾有多少個(gè)0?

  22、有5個(gè)海盜,按照等級(jí)從5到1排列,最大的海盜有權(quán)提議他們?nèi)绾畏窒?00枚金幣。

  但其他人要對(duì)此表決,如果多數(shù)反對(duì),那他就會(huì)被殺死。

  他應(yīng)該提出怎樣的方案,既讓自己拿到盡可能多的金幣又不會(huì)被殺死?

  (提示:有一個(gè)海盜能拿到98%的金幣)

  23、Google2009華南地區(qū)筆試題

  給定一個(gè)集合A=[0,1,3,8](該集合中的元素都是在0,9之間的數(shù)字,但未必全部包含),

  指定任意一個(gè)正整數(shù)K,請(qǐng)用A中的元素組成一個(gè)大于K的最小正整數(shù)。

  比如,A=[1,0] K=21 那么輸出結(jié)構(gòu)應(yīng)該為100。

  百度三道筆試題

  24、用C語言實(shí)現(xiàn)一個(gè)revert函數(shù),它的功能是將輸入的字符串在原串上倒序后返回。

  25、用C語言實(shí)現(xiàn)函數(shù)void * memmove(void *dest, const void *src, size_t n)。memmove

  函數(shù)的功能是拷貝src所指的內(nèi)存內(nèi)容前n個(gè)字節(jié)到dest所指的地址上。

  分析:由于可以把任何類型的指針賦給void類型的指針,這個(gè)函數(shù)主要是實(shí)現(xiàn)各種數(shù)據(jù)類型的拷貝。

  26、有一根27厘米的細(xì)木桿,在第3厘米、7厘米、11厘米、17厘米、23厘米這五個(gè)位置上各有一只螞蟻。

  木桿很細(xì),不能同時(shí)通過一只螞蟻。開始時(shí),螞蟻的頭朝左還是朝右是任意的,它們只會(huì)朝前走或調(diào)頭,但不會(huì)后退。

  當(dāng)任意兩只螞蟻碰頭時(shí),兩只螞蟻會(huì)同時(shí)調(diào)頭朝反方向走。假設(shè)螞蟻們每秒鐘可以走一厘米的距離。

  編寫程序,求所有螞蟻都離開木桿的最小時(shí)間和最大時(shí)間。

  騰訊七道筆試題

  27、請(qǐng)定義一個(gè)宏,比較兩個(gè)數(shù)a、b的大小,不能使用大于、小于、if語句

  28、兩個(gè)數(shù)相乘,小數(shù)點(diǎn)后位數(shù)沒有限制,請(qǐng)寫一個(gè)高精度算法

  29、有A、B、C、D四個(gè)人,要在夜里過一座橋。他們通過這座橋分別需要耗時(shí)1、2、5、10分鐘,只有一支手電,并且同時(shí)最多只能兩個(gè)人一起過橋。請(qǐng)問,如何安排,能夠在17分鐘內(nèi)這四個(gè)人都過橋?

  30、有12個(gè)小球,外形相同,其中一個(gè)小球的質(zhì)量與其他11個(gè)不同,

  給一個(gè)天平,問如何用3次把這個(gè)小球找出來,并且求出這個(gè)小球是比其他的輕還是重

  31、在一個(gè)文件中有 10G 個(gè)整數(shù),亂序排列,要求找出中位數(shù)。內(nèi)存限制為 2G。只寫出思路即可。

  32、一個(gè)文件中有40億個(gè)整數(shù),每個(gè)整數(shù)為四個(gè)字節(jié),內(nèi)存為1GB,寫出一個(gè)算法:求出這個(gè)文件里的整數(shù)里不包含的一個(gè)整數(shù)

  33、騰訊服務(wù)器每秒有2w個(gè)QQ號(hào)同時(shí)上線,找出5min內(nèi)重新登入的qq號(hào)并打印出來。

  雅虎三道筆試題

  34、編程實(shí)現(xiàn):把十進(jìn)制數(shù)(long型)分別以二進(jìn)制和十六進(jìn)制形式輸出,不能使用printf系列

  35、編程實(shí)現(xiàn):找出兩個(gè)字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串為"cad"

  36、有雙向循環(huán)鏈表結(jié)點(diǎn)定義為:

  struct node

  {

  int data;

  struct node *front,*next;

  };

  有兩個(gè)雙向循環(huán)鏈表A,B,知道其頭指針為:pHeadA,pHeadB,請(qǐng)寫一函數(shù)將兩鏈表中data值相同的結(jié)點(diǎn)刪除。

  聯(lián)想五道筆試題

  37、1)、設(shè)計(jì)函數(shù) int atoi(char *s)。

  2)、int i=(j=4,k=8,l=16,m=32); printf(“%d”, i); 輸出是多少?

  3)、解釋局部變量、全局變量和靜態(tài)變量的含義,

資料共享平臺(tái)

微軟、百度、聯(lián)想等名企C++筆試題匯總》(http://www.szmdbiao.com)。

  4)、解釋堆和棧的區(qū)別。

  5)、論述含參數(shù)的宏與函數(shù)的優(yōu)缺點(diǎn)。

  38、順時(shí)針打印矩陣

  題目:輸入一個(gè)矩陣,按照從外向里以順時(shí)針的順序依次打印出每一個(gè)數(shù)字。

  例如:如果輸入如下矩陣:

  1 2 3 4

  5 6 7 8

  9 10 11 12

  13 14 15 16

  則依次打印出數(shù)字1, 2, 3, 4, 8, 12, 16, 15, 14, 13, 9, 5, 6, 7, 11, 10。

  分析:包括Autodesk、EMC在內(nèi)的多家公司在面試或者筆試?yán)锊捎眠^這道題。

  39、對(duì)稱子字符串的最大長度

  題目:輸入一個(gè)字符串,輸出該字符串中對(duì)稱的子字符串的最大長度。

  比如輸入字符串“google”,由于該字符串里最長的對(duì)稱子字符串是“goog”,因此輸出4。

  分析:可能很多人都寫過判斷一個(gè)字符串是不是對(duì)稱的函數(shù),這個(gè)題目可以看成是該函數(shù)的加

  強(qiáng)版。

  40、用1、2、2、3、4、5這六個(gè)數(shù)字,寫一個(gè)main函數(shù),打印出所有不同的排列,

  如:512234、412345等,要求:"4"不能在第三位,"3"與"5"不能相連.

  41、微軟筆試題

  一個(gè)有序數(shù)列,序列中的每一個(gè)值都能夠被2或者3或者5所整除,1是這個(gè)序列的第一個(gè)元素。求第1500個(gè)值是多少?

  網(wǎng)易五道游戲筆試題

  42、兩個(gè)圓相交,交點(diǎn)是A1,A2。現(xiàn)在過A1點(diǎn)做一直線與兩個(gè)圓分別相交另外一點(diǎn)B1,B2。

  B1B2可以繞著A1點(diǎn)旋轉(zhuǎn)。問在什么情況下,B1B2最長

  43、Smith夫婦召開宴會(huì),并邀請(qǐng)其他4對(duì)夫婦參加宴會(huì)。在宴會(huì)上,他們彼此握手,

  并且滿足沒有一個(gè)人同自己握手,沒有兩個(gè)人握手一次以上,并且夫妻之間不握手。

  然后Mr. Smith問其它客人握手的次數(shù),每個(gè)人的答案是不一樣的。

  求Mrs Smith握手的次數(shù)

  44、有6種不同顏色的球,分別記為1,2,3,4,5,6,每種球有無數(shù)個(gè)。現(xiàn)在取5個(gè)球,求在一下的條件下:

  1、5種不同顏色,

  2、4種不同顏色的球,

  3、3種不同顏色的球,

  4、2種不同顏色的球,

  它們的概率。

  45、有一次數(shù)學(xué)比賽,共有A,B和C三道題目。所有人都至少解答出一道題目,總共有25人。

  在沒有答出A的人中,答出B的人數(shù)是答出C的人數(shù)的兩倍;單單答出A的人,比其他答出A的人總數(shù)多1;在所有只有答出一道題目的人當(dāng)中,答出B和C的人數(shù)剛好是一半。

  求只答出B的人數(shù)。

  46、從尾到頭輸出鏈表

  題目:輸入一個(gè)鏈表的頭結(jié)點(diǎn),從尾到頭反過來輸出每個(gè)結(jié)點(diǎn)的'值。鏈表結(jié)點(diǎn)定義如下:

  struct ListNode

  {

  int m_nKey;

  ListNode* m_pNext;

  };

  分析:這是一道很有意思的面試題。該題以及它的變體經(jīng)常出現(xiàn)在各大公司的面試、筆試題中。

  47、金幣概率問題(威盛筆試題)

  題目:10個(gè)房間里放著隨機(jī)數(shù)量的金幣。每個(gè)房間只能進(jìn)入一次,并只能在一個(gè)房間中拿金幣。

  一個(gè)人采取如下策略:前四個(gè)房間只看不拿。隨后的房間只要看到比前四個(gè)房間都多的金幣數(shù),就拿。否則就拿最后一個(gè)房間的金幣?

  編程計(jì)算這種策略拿到最多金幣的概率。

  48、找出數(shù)組中唯一的重復(fù)元素

  1-1000放在含有1001個(gè)元素的數(shù)組中,只有唯一的一個(gè)元素值重復(fù),其它均只出現(xiàn)一次.

  每個(gè)數(shù)組元素只能訪問一次,設(shè)計(jì)一個(gè)算法,將它找出來;不用輔助存儲(chǔ)空間,能否設(shè)計(jì)一個(gè)算法實(shí)現(xiàn)?

  49、08百度校園招聘的一道筆試題

  題目大意如下:

  一排N(最大1M)個(gè)正整數(shù)+1遞增,亂序排列,第一個(gè)不是最小的,把它換成-1,

  最小數(shù)為a且未知求第一個(gè)被-1替換掉的數(shù)原來的值,并分析算法復(fù)雜度。

  50、一道SPSS筆試題求解

  題目:輸入四個(gè)點(diǎn)的坐標(biāo),求證四個(gè)點(diǎn)是不是一個(gè)矩形

  關(guān)鍵點(diǎn):

  1.相鄰兩邊斜率之積等于-1,

  2.矩形邊與坐標(biāo)系平行的情況下,斜率無窮大不能用積判斷。

  3.輸入四點(diǎn)可能不按順序,需要對(duì)四點(diǎn)排序。

  51、矩陣式螺旋輸出

     

  52、求兩個(gè)或N個(gè)數(shù)的最大公約數(shù)和最小公倍數(shù)。

  53、最長遞增子序列

  題目描述:設(shè)L=是n個(gè)不同的實(shí)數(shù)的序列,L的遞增子序列是這樣一個(gè)子序列

  Lin=,其中k1

  求最大的m值。

  54、字符串原地壓縮

  題目描述:“eeeeeaaaff" 壓縮為 "e5a3f2",請(qǐng)編程實(shí)現(xiàn)。

  55、字符串匹配實(shí)現(xiàn)

  請(qǐng)以倆種方法,回溯與不回溯算法實(shí)現(xiàn)。

  56、一個(gè)含n個(gè)元素的整數(shù)數(shù)組至少存在一個(gè)重復(fù)數(shù),

  請(qǐng)編程實(shí)現(xiàn),在O(n)時(shí)間內(nèi)找出其中任意一個(gè)重復(fù)數(shù)。

  57、求最大重疊區(qū)間大小

  題目描述:請(qǐng)編寫程序,找出下面“輸入數(shù)據(jù)及格式”中所描述的輸入數(shù)據(jù)文件中最大重疊區(qū)間的大小。

  對(duì)一個(gè)正整數(shù) n ,如果n在數(shù)據(jù)文件中某行的兩個(gè)正整數(shù)(假設(shè)為A和B)之間,即A<=n<=B或A>=n>=B ,則 n 屬于該行;

  如果 n 同時(shí)屬于行i和j ,則i和j有重疊區(qū)間;重疊區(qū)間的大小是同時(shí)屬于行i和j的整數(shù)個(gè)數(shù)。

  例如,行(10 20)和(12 25)的重疊區(qū)間為 [12 20] ,其大小為9,行(20 10)和( 20 30 )的重疊區(qū)間大小為 1 。

  58、整數(shù)的素?cái)?shù)和分解問題

  歌德巴赫猜想說任何一個(gè)不小于6的偶數(shù)都可以分解為兩個(gè)奇素?cái)?shù)之和。

  對(duì)此問題擴(kuò)展,如果一個(gè)整數(shù)能夠表示成兩個(gè)或多個(gè)素?cái)?shù)之和,則得到一個(gè)素?cái)?shù)和分解式。

  對(duì)于一個(gè)給定的整數(shù),輸出所有這種素?cái)?shù)和分解式。

  注意,對(duì)于同構(gòu)的分解只輸出一次(比如5只有一個(gè)分解2 + 3,而3 + 2是2 + 3的同構(gòu)分解式)。

  例如,對(duì)于整數(shù)8,可以作為如下三種分解:

  (1) 8 = 2 + 2 + 2 + 2

  (2) 8 = 2 + 3 + 3

  (3) 8 = 3 + 5

  59、google的一道面試題

  題目:

  輸入a1,a2,...,an,b1,b2,...,bn,

  在O(n)的時(shí)間,O(1)的空間將這個(gè)序列順序改為a1,b1,a2,b2,a3,b3,...,an,bn,

  且不需要移動(dòng),通過交換完成,只需一個(gè)交換空間。

  例如,N=9時(shí),第2步執(zhí)行后,實(shí)際上中間位置的兩邊對(duì)稱的4個(gè)元素基本配對(duì),

  只需交換中間的兩個(gè)元素即可,如下表所示。顏色表示每次要交換的元素,左邊向右交換,右邊向左交換。

  交換過程如下表所示

    

  交換x1,x3;交換x2,x4;再交換中間的x1,x4;交換y1,y2。

  60、百度筆試題

  給定一個(gè)存放整數(shù)的數(shù)組,重新排列數(shù)組使得數(shù)組左邊為奇數(shù),右邊為偶數(shù)。

  要求:空間復(fù)雜度O(1),時(shí)間復(fù)雜度為O(n)。

【微軟、百度、聯(lián)想等名企C++筆試題匯總】相關(guān)文章:

1.名企考試題匯總:微軟亞洲技術(shù)中心面試題

2.聯(lián)想C++筆試題

3.名企筆經(jīng)1

4.名企筆試題

5.名企筆試題1

6.名企筆試題2

7.名企筆試題3

8.名企筆試題5