今天lz去阿里的在线笔试打了一把酱油,因为lz的水平有限,时间太他么紧张了。以下把记下来的题给大家分享一下。选择题总共20道,前十题截了图,后面感觉太费时就没有再截了,凭记忆记下了两道。附加题都记录下来了。

选择题

第1题:

第2题:

第3题:

第4题

第5题:

第6题:

第7题:

第8题:

第9题:

第10题:

回顾起来的题(11-20中的某2道)

1.       一个博物馆,以每分钟20人的速度进入,平均每人待20分钟,问博物馆最少须要容纳多少人?

A.100 B.200  C.300  D.400 E.500(可能另一个以上都不是的答案,记不清楚了)

2.       有一个二叉树,(详细题目记不清楚了,主要是说有先序和中序,求后序)

问答题

第一题

给定一个query和一个text,均由小写字母组成。要求在text中找出以相同的顺序连续出如今query中的最长连续字母序列的长度。比如, query为“acbac”,text为“acaccbabb”,那么text中的“cba”为最长的连续出如今query中的字母序列,因此,返回结果应该为其长度3。请注意程序效率。(答案仅仅是考试时候的答案)

package com.wj;

public class aLiTest {
public static void main(String[] args) {
String query ="acbac";
String text ="acaccbabb";
//调用findCLS方法计算text中最长的连续出如今query中的字母序列及其长度
findLCS(query.toCharArray(), text.toCharArray());
} public static void findLCS(char[] query, char[] text) {
String result =""; //接收结果字符串
int m =query.length;
int n = text.length;
int[][] c = new int[m][n];
int max = 0;
int maxPosX = 0; for (int i = 0; i< m; i++) {
for (int j = 0;j < n; j++) {
if (query[i] == text[j]) {
if ((i== 0) || (j == 0)) {
c[i][j] = 1;
} else {
c[i][j] = c[i - 1][j - 1] + 1;
} if(c[i][j] > max) {
max= c[i][j];
maxPosX = i;
}
} else {
c[i][j]= 0;
}
}
} for (int i = maxPosX- max + 1; i <= maxPosX; i++) {
result +=query[i];
} System.out.println("最长序列为:" + result); //输出序列
System.out.println("最长的序列长度为:" + max); //输出序列的长度
}
}

第二题

写一个函数,输入一个二叉树,树中每一个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值。请注意程序效率。(答案仅仅是考试时候的答案)

int absMax(BinaryTree root){
Queue<BinaryTree> btree = new Queue<BinaryTree>();
BinaryTree p = new BinaryTree();
BinaryTree q = new BinaryTree();
btree.add(root);//元素入队
int max = btree.peek().getdata();//max和min初始化
int min = btree.peek().getdata(); while(!btree.isempty()){ p = btree.poll();//元素出队
if(!p.isLChild()) //isLChild()推断左孩子是否存在,假设存在就入队列
btree.add(p.getLChild());
if(!p.isRChild())
btree.add(p.getRChild()); if(btree.isempty()){ //假设队列中不存在元素,就直接与max和min比較,然后返回
int temp = p.getdata();//取得节点的值
if(max<temp)
max = temp;
elseif(min > temp)
min = temp;
return abs(max-min);
} q = btree.poll(); //队列中还存在值就出队,把孩子节点放入队列
if(!q.isLChild()) //isLChild()推断左孩子是否存在,假设存在就入队列
btree.add(q.getLChild());
if(!p.isRChild())
btree.add(q.getRChild()); if(q.getdata() >= p.getdata() ){ //先q节点的值与p节点的值比較,大值和max在比較,小的和min比較,以降低比較次数
if( max < q.getdata())
max = q.getdata();
//考试过程中因为紧张思考不严密遗漏的两行代码
if(min > p.getdata())
min = p.getdata();
}
else{
if(min > q.getdata())
min = q.getdata();
//考试过程中因为紧张思考不严密遗漏的两行代码
if( max < p.getdata())
max = p.getdata();
} } } return abs(max-min);//返回max和min之差的绝对值 }

第三题

java中的wait()方法和sleep()方法的差别是什么?

阿里2015在线研发project师笔试题(部分)的更多相关文章

  1. 2015-8-29阿里校园招聘研发project师笔试题

    前言:原题来自于网络:http://www.cnblogs.com/nausicaa/p/3946694.html.本人依据自己理解对题目进行解答.因为水平有限.题目有不会做.做错的地方.欢迎大家留言 ...

  2. 百度2016研发project师笔试题(四)

    百度2016研发project师笔试题(四) 2015/12/8 10:42(网上收集整理的,參考答案在后面.若有错误请大神指出) 1. 关于MapReduce的描写叙述错误的是() A. 一个Tas ...

  3. 网易2016研发project师笔试题

    网易2016研发project师笔试题 2015/12/9 11:25(网上收集整理的,參考答案在后面,若有错误请大神指出) 1. 运行指令find / -name "test.c" ...

  4. 阿里巴巴2016研发project师笔试题

    问题1: 假设下列的公式成立:78+78=123,则採用的是_______进制表示的. 本题实则考察进制转换.能够设为x进制.可是x进制有一个问题.即我们无法对x进制直接进行加减乘除.故转化为我们常见 ...

  5. 网易游戏2015年暑期实习生面试经历-游戏研发project师

    首先,我还是先介绍一下网易游戏吧.引用别人的一段话 作者:王选易.出处: http://www.cnblogs.com/neverdie/ 欢迎转载 .也请保留这段声明.假设你喜欢这篇文章,请点[推荐 ...

  6. 阿里巴巴2014研发project师实习生面试经历

    java研发project师的初面是在上周三进行的,终于结果到了晚上才出,而没有通过的则是一结束网上就更新了状态.之后阿里通知这周三,也就是今天进行二面. 凑巧的是今早被舍友吵醒,中午那个困啊,但没时 ...

  7. 2014阿里巴巴研发project师暑期实习生面试经验

    2014阿里巴巴研发project师暑期实习生面试经验 作者:林子 Blog:  http://blog.csdn.net/u013011841 时间:2014年8月 出处:http://blog.c ...

  8. 当当网-前端project师測试题

                                     前端project师測试题(笔试时间20分钟.面试时间20分钟)   一.笔试 1.基础问题 (1)前端页面有哪三层构成,各自是什么? ...

  9. 最美应用-从Android研发project师的角度之[最美时光]

    最美应用-从Android研发project师的角度之最美时光 @author ASCE1885的 Github 简书 微博 CSDN 近期发现最美应用这样一个站点.它会定期推介一些非常有意思的app ...

随机推荐

  1. http://fonts.googleapis.com/css?打开很慢解决方案

    最近, 在写一个demo的时候突然发现加载超级慢, 寻找之下发现了"罪魁祸首", 系引用了http://fonts.googleapis.com/css. 接着在网上看到有网友反映 ...

  2. Velocity缓存与穿透(转)

    原文  http://fantaxy025025.iteye.com/blog/2283904 主题 Java 总评:只是标记一下这种用法hack方法.这种场景下用这种方法还是比较雷人的. Veloc ...

  3. java去全半角空格,trim(), replaceAll(" +",""),replaceAll("\\s*", ""), replaceAll(" | ", "")

    JAVA中去掉空格 . String.trim() trim()是去掉首尾空格 .str.replace(" ", ""); 去掉所有空格,包括首尾.中间 St ...

  4. Exec l 中分列的作用

  5. NYOJ 45 棋盘覆盖 模拟+高精度

    题意就不说了,中文题... 小白上讲了棋盘覆盖,于是我就挖了这题来做. 棋盘覆盖的推导不是很难理解,就是分治的思想,具体可以去谷歌下. 公式就是f(k) = f(k - 1) * 4 + 1,再化解下 ...

  6. gc overhead limit exceeded eclipse错误解决方式

    在Eclipse打包的时候报错:gc overhead limit exceeded eclipse 原因是Eclipse默认配置内存太小须要更改安装Eclipse目录下的eclipse.ini文件. ...

  7. 对HGE游戏引擎的一次封装

    HGE游戏引擎是一个开源2D游戏引擎,基于directX. 它的渲染及逻辑是基于帧回调的框架模式, 其提供一些主要的图像操作和输入控制功能. 我在之前写一个2D游戏的时候对它整个框架进行了一次封装,非 ...

  8. javascript实现的一个信息提示的小功能/

    //什么状况.CSDN的排版怎么这么多状况,还是本人太次?调整几次都没弄好.最后一遍了-- 最近由于公司业务问题.须要做一些面向公众的平台,于是对UI要求会高一点, 对于传统的alert的这样的方式来 ...

  9. 尝到awk

    我前几天写的sed,这个时候继续了解它的兄弟,awk,两者都使用,一种感觉.既可以用来处理场.假设你想要做文本处理.sed删除.匹配,一些频繁更换使用,假设每一行文本,你想深入,一些每行和列处理的,例 ...

  10. 【Win7】【磁盘管理】删除相似“33fbc1d57e9aaf1ea88e6f08”缓存目录

    一般,在计算机磁盘.移动硬盘.或U盘出现,类别似"33fbc1d57e9aaf1ea88e6f08",你不能删除缓存目录.能Win7删除. (1).使用管理员,打开命令提示符窗口( ...