今天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. Swift编程语言学习10—— 枚举属性监视器

    属性监视器 属性监视器监控和响应属性值的变化,每次属性被设置值的时候都会调用属性监视器.甚至新的值和如今的值同样的时候也不例外. 能够为除了延迟存储属性之外的其它存储属性加入属性监视器,也能够通过重载 ...

  2. Ubuntu 14.4 使用中遇到的问题汇总

    1.java程序字体问题. 基本的原因是openjdk的缘故 下载最新的jdk安装,地址:http://www.oracle.com/technetwork/java/javase/downloads ...

  3. CSS计数器妙用

    做web的经常会遇到类似排行榜的需求, 特别是要求前n名的样式和后面人不一样. 通常大多数人对于这个需求的做法都是在后端处理好排名名次, 在前端填入内容, 然后针对前n名做特殊的样式处理. 但是这样有 ...

  4. ecshop首页调用指定分类的所有产品(指定一级调二级)

    第一种方法 第一 在/includes/lib_goods.php下增加如下代码,用过网上的直接换掉就可以 function index_get_cat_id_goods_best_list($cat ...

  5. android细节之禁用activity的系统的默认切换效果

    网上有非常多方法来禁用系统的默认效果,这里贴上来我觉得最简单的方法. overridePendingTransition(Animation.INFINITE, Animation.INFINITE) ...

  6. PB数据库相关

    ---------------------------------------------------------------- 数据库画板: 一张表定义了主键或者唯一索引,则能够在Results视窗 ...

  7. poj1185炮兵阵地

    #include <iostream> #include <cstdio> #include <cmath> #include <algorithm> ...

  8. 【iOS开发-22】navigationBar导航栏,navigationItem建立:获取导航栏中的基本文本和button以及各种跳跃

    (1)navigationBar导航栏可以被看作是self.navigationController一个属性导航控制器,它可以由点直接表示self.navigationController.navig ...

  9. Google Maps Android API v2 (2)- 地图对象

    地图对象 Android的谷歌地图API允许你在你的Andr​​oid应用程序中显示谷歌地图.在谷歌地图移动(GMM)的应用程序,你看到的地图,这些地图具有相同的外观和API暴露出许多相同的功能.GM ...

  10. 【iOS开发-60】案例学习:多组数据的tableView设置、添加右側组索引、多层数据模型设置以及valueForKeyPath

    效果: 这里的数据模型有两层:每一组汽车是一层模型,每一组里面的每一行汽车品牌也是一层模型. (1)我们先创建一个WSCars模型. 在WSCars.h中: #import <Foundatio ...