人民搜索实习生招聘笔试题_第1页
人民搜索实习生招聘笔试题_第2页
人民搜索实习生招聘笔试题_第3页
人民搜索实习生招聘笔试题_第4页
人民搜索实习生招聘笔试题_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、人民搜索实习生招聘笔试题1、打印汉诺塔移动步骤,并且计算复杂度方法是递归,将n-1层移到中间柱,然后将最底层移到目标柱, 然后再把n-1层移到目标柱。f(n) = 2f(n-1) + 1 , f(1) = 1 f(n) + 1 = 2( f(n-1) + 1 ) f(n)0(2T(n)22);2、计算两个字符串的是否相似(字符的种类,和出现次数相同)3、定义二叉树,节点值为int,计算二叉树中的值在a,b区间的节点的个数。任意一种方式遍历二叉树,如果值在a,b之间,计数器+14、一条路有k可坑,每次能跳平方数步长(1 4 9 16。),不能跳到坑里,从a跳到b最少几步?(动态规划题)动态转移方

2、程f(n) = min( f( 大于n的第一个平方数-n) ,f(n-小于n的第一个完全平方数)+1 )【补充ing在一个坐标轴上, 给定两个点,一个起点,一个终点,起点有 一个方块,方块可以左右移动,但是移动的长度只能是平方数长 (1,4,9,16 ),同时坐标轴上还有洞,移动的过程中不能越过这个洞, 不然会掉下去,问由起点到终点 至少需要多少次移动,不能到达返 回-1 5、给一个整数数组,求数组中重复出现次数大于数组总个数一 半的数。int MoreTha nH alfNum(i nt *a , int n )int i , k , num = a0;int times = 1;for(i

3、 = 1 ; i +i)if(times = 0)num = ai;times = 1;else if(ai != num)-times;else+times;k = 0;for(i = 0 ; i +i)if(ai = num)+k;if(k*2 = n)return -1; / 没有找到else return num; / 找至 U6、一个128bits 的二进制流,要求找出 里面包含 某8bits 二 进制流的数目。如果只是一个128bit的流,那就用int对其某个字节,然后移 位比较,然后int向后移动3个字节,继续移位比较。如果是很多 128bit的流,可以模仿kmp,用上面的方法,

4、每次取int的8bit和 目标8bit进行AND操作,结果只有256种可能,事先存一个256 的表,查表决定向后跳跃的bit数。7、交换整型的奇数位和偶数位问题定义:Write a program to swap odd and eve n bits in an in tegerwith as few instructionsas possible(e.g, bit 0 and bit 1 areswapped, bit 2 and bit 3 are swapped, etc)int SwapOddEve nBit(i nt x)return ( (x Oxaaaaaaaa) 1) | (x

5、 0x55555555) 1); int mai n(void)int a = 171;printf( %dn , SwapOddEve nBit(a);return 0;8、试着用最小的比较次数去寻找数组中的最大值和最小值。解法一:扫描一次数组找出最大值;再扫描一次数组找出最小值。比较次数2N-2解法二:将数组中相邻的两个数分在一组,每次比较两个相邻的数,将较大值交换至这两个数的左边,较小值放于右边。对大者组扫描一次找出最大值,对小者组扫描一次找出最小值比较1.5N-2次,但需要改变数组结构解法三:每次比较相邻两个数,较大者与 MAX比较,较小者与MIN比 较,找出最大值和最小值。方法如下:

6、先将一对元素互相进行比较,然后把最小值跟当前 最小值进行比较,把最大值跟当前最大值进行比较。因此每两个元素需要3次比较。如果n为奇数,那么比较的次数是3*(n/2)次比较。 如果n为偶数,那么比较的次数是 3n/2-2次比较。因此,不管是n 是奇数还是偶数,比较的次数至多是3*(n/2),具体的代码如下:void GetMaxA ndMin (i nt *arr , int n , int max , int min)int i = 0 ;if(n 1) / 奇数max = min = arri+;elseif(arrO arr1)max = arrO;min = arr1;elsemax = arr1;min = arr0;i += 2;for( ; i i += 2)if(arri arri+1)if(arri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论