zoukankan      html  css  js  c++  java
  • 阿里2015在线研发project师笔试题(部分)

    今天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()方法的差别是什么?








  • 相关阅读:
    Java Logger 使用总结
    java中用Eclipse打JAR包,包含外部JAR
    安装e(fx)clipse到Eclipse (JavaFX工具)
    肾亏怎么办 下面给你支支招
    汇编cmp比较指令详解
    eclipse安装插件报错Unable to read repository at
    Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法
    Java开发桌面程序学习(二)————fxml布局与控件学习
    JavaFX入门(二):JavaFX和FXML
    Apache Tomcat 文件包含漏洞 (CVE20201938) 复现
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4027425.html
Copyright © 2011-2022 走看看