天天看點

(轉)微軟面試題

來源:http://www.cnblogs.com/qlee/archive/2011/09/16/2178873.html

1、有一個整數數組,請求出兩兩之差絕對值最小的值,記住,隻要得出最小值即可,不需要求出是哪兩個數。

(轉)微軟面試題
(轉)微軟面試題

View Code

(轉)微軟面試題
(轉)微軟面試題
(轉)微軟面試題

2、平面上N個點,沒兩個點都确定一條直線,求出斜率最大的那條直線所通過的兩個點

平面上N個點,沒兩個點都确定一條直線,求出斜率最大的那條直線所通過的兩個點(斜率不存在的情況不考慮)。時間效率越高越好。

先把N個點按x排序。

斜率k最大值為max(斜率(point[i],point[i+1]))    0 <=i <n-2。

複雜度Nlog(N)。

以3個點為例,按照x排序後為ABC,假如3點共線,則斜率一樣,假如不共線,則可以證明AB或BC中,一定有一個點的斜率大于AC,一個點的斜率小于AC。

3、寫一個函數,檢查字元是否是整數,如果是,傳回其整數值。(或者:怎樣隻用4行代碼編寫出一個從字元串到長整型的函數)

(轉)微軟面試題
(轉)微軟面試題
(轉)微軟面試題
(轉)微軟面試題
(轉)微軟面試題

4、怎樣編寫一個程式,把一個有序整數數組放到二叉樹中?

(轉)微軟面試題
(轉)微軟面試題
(轉)微軟面試題
(轉)微軟面試題
(轉)微軟面試題

5、怎樣從頂部開始逐層列印二叉樹結點資料?請程式設計。

(轉)微軟面試題
(轉)微軟面試題
(轉)微軟面試題
(轉)微軟面試題
(轉)微軟面試題

6、程式設計實作兩個正整數的除法

(轉)微軟面試題
(轉)微軟面試題
(轉)微軟面試題
(轉)微軟面試題
(轉)微軟面試題

7、在排序數組中,找出給定數字的出現次數。比如 [1, 2, 2, 2, 3] 中2的出現次數是3次。

(轉)微軟面試題
(轉)微軟面試題
(轉)微軟面試題
(轉)微軟面試題
(轉)微軟面試題

8、一個整數數列,元素取值可能是0~65535中的任意一個數,相同數值不會重複出現。0是例外,可以反複出現。

請設計一個算法,當你從該數列中随意選取5個數值,判斷這5個數值是否連續相鄰。

注意:

- 5個數值允許是亂序的。比如: 8 7 5 0 6

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

- 0可以多次出現。

- 複雜度如果是O(n2)則不得分。

插入排序-》最大值-最小值<=4

9、一棵排序二叉樹,令 f=(最大值+最小值)/2,設計一個算法,找出距離f值最近、大于f值的結點。複雜度如果是O(n2)則不得分。

(轉)微軟面試題
(轉)微軟面試題
(轉)微軟面試題
(轉)微軟面試題
(轉)微軟面試題

<a></a>

<a>本文轉自夏雪冬日部落格園部落格,原文連結:http://www.cnblogs.com/heyonggang/archive/2013/04/26/3045759.html,如需轉載請自行聯系原作者</a>

繼續閱讀