您的位置:首页 > 其它

2013 阿里巴巴集团校招笔试 算法题

2013-05-05 19:37 253 查看
个人凭 记忆 记住的一些题目  如果哪里记错 可以指明下 一些自己也还不会写, 希望会写的朋友可以提供下方法

1. 是 实现一个 一维数组的 倒置输出

void rserve(int *A, int n)
{

}
void main()
{
int n=6;
int A[]={2,5,6,2,3,6};
rserve(A,n);
cout<<*A<<endl;
}

2.n个士兵通过电话交流各自的情报,如何才能是交流次数最少?
每个士兵的情报不一样。每次两个士兵交流 就获得对方的情报
最后要求每个士兵都知道所有的情报。
请说下方法,并算一下交流的次数是多少!

 

听童鞋说 用平衡二叉树解决

个人理解: 假设有8个不同信息 那么是 就是8个二进制位 11111111 就表示 这个人拥有所有的消息。

两个人 交流相当于2个数字进行  或 运算

 

3.N-1个人 都认识明星 ,N-1个人 认识不认识 不知道 。明星不认识N-1个人

请说明方法 怎么样找出这个明星。并写出复杂度.

个人理解:找明星那题 有N个人分别编号为1,2,……,N;若i认识其中的j那么该j就是明星,若i不认识所有的j,那么i便是明星  然后来个循环    i是否认识j?j明星:i明星  找出明星 复杂度O(N) 这样似乎 可行。。

4.1-N个环 每个环是一个仓库 仓库库存数量不同 保持每个仓库库存 一样多,一次只能向旁边的仓库移动 库存 。写出最优实现的算法

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: