l2013小米笔试题目+答案详解.docxVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
l2013小米笔试题目答案详解

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;???for(i?=?0?;?i??n?;?++i)???fips?^=?lowbit(xors?^?a[i]);???//?表示的是:flips=lowbit(a^b)^lowbit(a^c)^lowbit(b^c)???int?b;//?假设三个只出现一次的其中一个数为b??b?=?0;???for(i?=?0?;?i??n?;?++i)???{???if(lowbi

文档评论(0)

lisufan + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档