小米公司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. 

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值