小米公司2013校園招聘筆試題(研發)

一,填空題


1. 兩個人一個速度爲a,一個速度爲b,相向而行,在距離爲s的時候,A放出鴿子,速度爲c,鴿子飛到B後,會返回A,遇到A後再返回B。在這期間鴿子飛行的路程


2. (he)的平方 = she。 h,e,s 各代表什麼


3. 運算 93 & -8


4. 將無序數組構建成最大堆,最差的時候,複雜度是


5. int *p = &n;

     *p 的值是

     A. p 的值 B. p的地址 C. n的值 D. n的地址

6. 一個完全二叉樹有770節點,那麼葉子個數爲

7. 有一個數組a[1...100, 1...65] 有100行 65列。

    按行優先,如果數組基地址是 10000,每個元素2各存儲單元,問a[56, 22]的地址是


8.  寫出一下程序結果

#include <iostream>
#include <string>
using namespace std;

class B
{

public:
	B()
	{
		cout<<"B is constructing"<<endl;
		s = "B";
	}
	void f(){
		cout<<s;
	}
private:
	string s;
};

class D:public B{
public:
	D():B(){
		cout<<"D is constructing"<<endl;
		s = "D";
	}
	void f(){
		cout<<s;
	}
private:
	string s;
};

int main(){

	B* b = new D();
	b->f();
	((D*)b)->f();
	delete b;
}

二, 編程題

1. 數組乘積
輸入: 一個長度爲n的整數數組input
輸出: 一個長度爲n的數組result,滿足result[i] = input數組中,除了input[i] 之外的所有數的乘積,不用考慮溢出
例如 input
{2, 3, 4, 5}
output:
{60, 40, 30, 24}

2, 異形數
長度爲n的數組裏面,除了3個數字,其他都出現2次,寫出程序找出任意一個數。
例如 
1 3 7 9 5 5 9 4 3 6 1 7
輸出
4/5/6 


3. 朋友圈
假如已知有n個人和m對好友關係,如果兩個人是直接或者間接有好友關係,則認爲他們屬於同一個朋友圈。寫程序判斷裏面有多少朋友圈。
例如 
n = 5, m = 3  r = {(1,2), (2, 3), (4, 5)}  1 2 3 是一個朋友圈, 4 5 是一個朋友圈。
所以輸出是2. 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章