豌豆荚笔试题

来源:互联网 发布:淘宝运费险退货多 编辑:程序博客网 时间:2024/06/05 23:50

http://www.itmian4.com/forum.php?mod=viewthread&tid=4510


。第一道题是有一个int型数组,每两个相邻的数之间的差值不是1就是-1.现在给定一个数,要求查找这个数在数组中的位置。我先说了下最基础的方法,那就是顺序遍历,还没说完面试官就打断问有没有更好的方法。我就说可以在遍历的时候进行一些跳跃,提高查找效率。然后他说,嗯,写代码吧。第二道题记不得了。第三道题是一个字符数组,里面的字符可能是a-zA-Z0-9.现在要求对数组进行排序,要求所有小写字符放在最前面,所有大写字符放在中间,所有数字放在最后。而且各部分内部分别有序。我一开始没想到这个数组可能会很大,于是用比较笨的方法来写代码,他过了一会就问我是不是要先分别排序再合并,我说是的。他就问如果数组很大呢?我立马回答出了桶排序。因此大家在开始答题的之前一定要和面试官多沟通,把题目意思搞明白。

他问我会哪些数据结构和算法,我先说可链表、数组、栈、AVL树等等还没说完就被打断了,他补充说,偏重算法。我挑了我熟悉的几个说了下:BFSDFSKMPA*算法。然后就出了四个算法题。下面说说两个较难的算法题

1)一个矩阵,指定其中两个元素,将这两个元素用折线连接起来,折线只能朝右或者朝下,要求:折线组成的路径上的数的乘积末尾的0最多。

 

2)连连看游戏。判断两个点能否连接起来消去,而且要求出最短路径。可以用哪些搜索算法?BFSDFSA*A*如何剪枝?

HDOJ 1175

典型解法:BFS

 

其他同学的面试题:

由‘0-9’组成的字符串,求一个最大子串。该子串不能满足条件:该子串的任意两个子串对应数字的乘积字符串对应的数字不能是这个子串的子串。

 

题目就是将一个四位整数比如4298转化为大写:四千二百九十八。


并查集、K-d树、R树、约瑟夫环问题、数据库存储的倒排索引等等。整体讲,这部分准备的还是很充分的,面试中出现的大部分数据接结构和算法题都解决出来了。

非递归二叉树排序,shell排序,基数排序,找出一堆数种出现次数大于总算一半的数


http://myitlife.net/%E5%9C%A8%E7%9B%B8%E9%82%BB%E5%85%83%E7%B4%A0%E7%9B%B8%E5%B7%AE1%E7%9A%84%E6%95%B0%E7%BB%84%E4%B8%AD%E6%9F%A5%E6%89%BE%E6%9F%90%E4%B8%80%E7%89%B9%E5%AE%9A%E5%85%83%E7%B4%A0%E7%AC%AC%E4%B8%80%E6%AC%A1/

0 0
原创粉丝点击