整理了三份人民搜索的笔试题,总结如下
1)打印汉诺塔移动步骤,并且计算复杂度
2) 计算两个字符串的是否相似(字符的种类,和出现次数相同)
3)定义二叉树,节点值为int,计算二叉树中的值在[a,b]区间的节点的个数
4)动态规划题:一条路有k可坑,每次能跳平方数步长(1 4 9 16。。),不能跳到坑里,从a跳到b最少几步?
5)给一个整数数组,求数组中重复出现次数大于数组总个数一半的数。
6)还有一道忘记了。。。
1、对以孩子兄弟链接的树进行遍历,不能用递归,也不能借助任何辅助空间
2、假设数组B是升序Int数组A循环移若干得到的位,实现对数组B进行查找的高效算法
3、只有整数和+-*/四种运算组成的算术表达书,实现其求值
2、假设数组B是升序Int数组A循环移若干得到的位,实现对数组B进行查找的高效算法
3、只有整数和+-*/四种运算组成的算术表达书,实现其求值
4、还有一个是考贪心算法的,你让他们看算法导论那本书,关于fractional knapsack problem的那一段,就是0-1背包的一种变形;
(1)实现一个atoi函数==>'注意正负号的判定'
(2)翻转一个句子,其中单词是正序的==>两次旋转
(3)二叉树两个结点中的最小公共子结点==>求长度,长度之差,远的先走,再一起走
(4)三角阵中从第一行到最后一行(给出搜索方向的限制)找一个连续的最大和==>广度优先搜索√
(5)实现一个stl中的vector中的尽量多的方法。