1、打印汉诺塔移动步骤,并且计算复杂度。
方法是递归,将n-1层移到中间柱,然后将最底层移到目标柱,然后再把n-1层移到目标柱。
f(n) = 2f(n-1) + 1 , f(1) = 1
f(n) + 1 = 2( f(n-1) + 1 )
f(n) = 2^n - 1
T(n) = O(2^n);
2、计算两个字符串的是否相似(字符的种类,和出现次数相同)
先比较strlen,如果不相等,直接返回false
根据ASCII码建表 str[255],然后比较字符的出现次数,如有一个不同,返回false。
然后比较位置吧。有一个不同,就返回true。
3、定义二叉树,节点值为int,计算二叉树中的值在[a,b]区间的节点的个数。
任意一种方式遍历二叉树,如果值在 [a,b] 之间,计数器+1
4、一条路有k可坑,每次能跳平方数步长(1 4 9 16。。),不能跳到坑里,从a跳到b最少几步?(动态规划题)
动态转移方程
f(n) = min( f(大于n的第一个平方数 -n) ,f(n- 小于n的第一个完全平方数) +1 )
【 补充 ing
在一个坐标轴上, 给定两个点,一个起点,一个终点,起点有一个方块,方块可以左右移动,但是移动的长度只能是平方数长(1,4,9,16 ••••) ,同时坐标轴上还有洞,移动的过程中不能越过这个洞,不然会掉下去,问 由起点到终点 至少需要多少次移动,不能到达返回-1】
5、给一个整数数组,求数组中重复出现次数大于数组总个数一半的数。
int MoreThanHalfNum(int *a , int n )
{
int i , k , num = a[0];
int times = 1;
for(i = 1 ; i < n ; ++i)
{
if(times == 0)
{
num = a[i];
times = 1;
}
else if(a[i] != num)
--times;
else
++times;
}
k = 0;
for(i = 0 ; i < n ; ++i)
{
if(a[i] == num)
++k;
}
if(k*2 <= n)
return -1; //没有找到
else
return num; //找到
}
6、一个128bits 的二进制流,要求找出 里面包含 某8bits 二进制流的数目。
如果只是一个128bit的流,那就用int对其某个字节,然后移位比较,然后int向后移动3个字节,继续移位比较。如果是很多128bit的流,可以模仿kmp,用上面的方法,每次取int的8bit和目标8bit进行AND操作,结果只有256种可能,事先存一个256的表,查表决定向后跳跃的bit数。
分享到:
相关推荐
腾讯2013实习生招聘笔试试题,2013年4月13日刚刚出炉的,相比2012年简单一些。
2011百度暑期实习生招聘笔试题-web前端开发,有部分答案
腾讯历年实习生招聘笔试真题,大部分有答案。
百度2012年实习生招聘笔试试题 -技术类 2012年5月6日
京东2016实习生招聘笔试真题-技术岗位选择题
2014年广东移动领先100实习生招聘笔试题目,高清拍摄照片
百度2012年实习生招聘笔试试题 -技术类 2012年5月6日
2012uc实习生招聘笔试题(研发类),word版,从第一题到最后一题,完整版,附带部分答案。 附带UC面试经历:uc面试采用群面方式,大约15人,三人一组,一个考官,首先简单自我介绍,然后给出一个题目,让每组讨论出...
此文档为阿里巴巴-2011届实习生招聘笔试题目。
hadoop2面试题 -2012年腾讯招聘实习生笔试题.pdf
微软2012暑期实习生校园招聘笔试题,很好的一个练手机会,希望找工作的同学能够认真看一看。
2014年3月29日晚6:30-8:30,阿里巴巴集团2014实习生统一笔试题,试题很灵活,开放性很大。
京东2016实习生招聘笔试真题-技术岗位选择题
2015年趋势科技实习生招聘笔试题。希望对找实习的人有用
腾讯2012实习生笔试题+答案,要的赶紧下载哦.
腾讯 2012 实习生 技术类 笔试题
这个笔试题包含单选多选填空和问答题,考的比较全面,对于面临2012年找工作同学很有参考价值,祝愿大家找到理想工作
百度2012实习生校园招聘笔试题 1、给一个单词a,如果通过交换单词中字母的顺序可以得到另外的单词b,那么b是a的兄弟单词,比如的单词army和mary互为兄弟单词。 现在要给出一种解决方案,对于用户输入的单词,根据...
腾讯校园实习生笔试题,有答案,大家好好看吧
腾讯2012实习生笔试题, 腾讯2012实习生笔试题