西安尚学堂练习09.17|Java编程笔试面试题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了西安尚学堂练习09.17|Java编程笔试面试题相关的知识,希望对你有一定的参考价值。

  • 下列哪些类型能被throw语句抛出?
  • A. Error B. Exception C. Throwable D. Object

    【解】注意Error也是可以被throw的,只是通常Error出现程序就中断了,我们并不会去捕获。

    2.编程:给定两个字符串A,B(只包含26个英文字母),输出所有公共的最长子字符串(如果出现重复子串,则输出多次)

    输入包括两行,每行为一个连续字符串(大小写敏感)

    输出包括多行,每行为扫描到的最长公共子串,按照该子串在字符串A(即第一行输入字符串)中出现的先后次序输出

    样例输入:

    abcxyzabcrst

    opqrstabc

    样例输出:

    abc

    abc

    rst

    解答:与最长公共子序列一样,最长公共子串也可以采用动态规划(打表)进行求解。举个例子:X = bab,Y = caba。打表如下:
    技术图片
    西安尚学堂练习09.17|Java编程笔试面试题

    具体打表的方法是:

    第一行、第一列初始化为 0;

    对于其他的格子:

    若对应的两个字符相等,格子的值设为左上角的值加 1。

    若对应的两个字符不相等,直接置 0 。

    3.编程:在一个整数的数组中删除另外一个整数数组中的元素,并保留原数组的次序

    输入包括两行:

    1. 第一行是被删除的整数列表(记为列表A),每个整数之间使用空格分隔

    2. 第二行是需要删除的整数列表(记为列表B),每个整数之间使用空格分隔

    输出只有一行,即列表A中删除列表B元素后的整数列表,输出元素按照在列表A中的次序排列,每个整数之间使用空格分隔

    样例输入:

    1 2 3 4 5

    2 4

    样例输出:

    1 3 5

    解答思路:本题较简单,获取第一行时,用一个list保存;获取第二行时,将每个数从list中删除,最后输出即可。

    以上是关于西安尚学堂练习09.17|Java编程笔试面试题的主要内容,如果未能解决你的问题,请参考以下文章

    西安尚学堂练习09.12|Java编程笔试面试题

    西安尚学堂练习9.5|Java编程笔试面试题

    西安尚学堂 练习09.03|Java编程笔试面试题

    西安尚学堂练习09.10|Java编程笔试面试题

    尚学堂练习9.7|Java编程笔试面试题

    12月份Java面试题与答案汇总