2013小米笔试题目答案详解.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2013小米笔试题目+答案详解收藏的一些笔试题目,仅供参考一、填空题(5分每题,一共8题)1、两个人A(速度为a)、B(速度为b)在一直路上相向而行。在A、B距离为s的时候,A放出一个鸽子C(速度为c),C飞到B后,立即掉头飞向A,遇到A在掉头飞向B......就这样在AB之间飞来飞去,直到A、B相遇,这期间鸽子共飞行路程为?答案是:s*c/(a+b)2、(he)的平方=she。h、e、s代表的数字?答案是:分别代表2、5、63、运算(93-8)的结果为:884、将一个无序整数数组构造成一个最大堆,最差时间复杂度为:5、int *p = n;那么*p的值是()A、p的值 ? ? B、p的地址 ? ??C、n的值?? ? D、n的地址6、一个完全二叉树有770个节点,那么其叶子的个数为:3857、有一个二维数组a[1...100 , 1...65]有100行,65列,我们以行序为主序,如果该数组的基地址是10000,且每个元素占2个存储单元,请问a[56 , 22]的存储地址是:173248、以下代码输出结果是:[cpp]?view plaincopyclass?B??{??public:??????B()??????{??????????coutB?constructor\n;??????????s?=?B;??????}??????void?f()??????{??????????couts;??????}??private:??????string?s;??};????class?D?:?public?B??{??public:??????D()?:?B()??????{??????????coutD?constructor\n;??????????s?=?D;??????}??????void?f()??????{??????????couts;??????}??private:??????string?s;??};????int?main(void)????{??????B?*b?=?new?D();??????b-f();??????((D*)b)-f();??????delete?b;??????return?0;??}??输出结果是B constructorD constructorBD二、编程题1、数组乘积(15分)输入:一个长度为n的整数数组input输出:一个长度为n的整数数组result,满足result[i] = input数组中除了input[i]之外所有数的乘积(假设不会溢出)。比如输入:input = {2,3,4,5},输出result = {60,40,30,24}程序时间和空间复杂度越小越好。C/C++:int *cal(int* input , int n);Java:int[] cal(int[] input);[cpp]?view plaincopyint?*cal(int*?input?,?int?n)??{??????int?i?;??????int?*result?=?new?int[n];??????result[0]?=?1;??????for(i?=?1?;?i??n?;?++i)??????????result[i]?=?result[i-1]*input[i-1];??????result[0]?=?input[n-1];??????for(i?=?n-2?;?i??0?;?--i)??????{??????????result[i]?*=?result[0];??????????result[0]?*=?input[i];??????}??????return?result;??}??2、异形数(25分)在一个长度为n的整形数组a里,除了三个数字只出现一次外,其他的数字都出现了2次。请写程序输出任意一个只出现一次的数字,程序时间和空间复杂度越小越好。例如: a = {1,3,7,9,5,9,4,3,6,1,7},输出4或5或6C/C++:void find(int* a , int n);Java:void find(int[] a);[cpp]?view plaincopy//?lowbit表示的是某个数从右往左扫描第一次出现1的位置??int?lowbit(int?x)??{??????return?x~(x-1);??}????void?find(int*?a?,?int?n)??{??????int?i?,?xors;??????xors?=?0;??????for(i?=?0?;?i??n?;?++i)??????????xors?^=?a[i];??????//?三个数两两的异或后lowbit有两个相同,一个不同,可以分为两组??????int?fips?

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档