西安尚学堂练习09.17|Java编程笔试面试题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了西安尚学堂练习09.17|Java编程笔试面试题相关的知识,希望对你有一定的参考价值。
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.编程:在一个整数的数组中删除另外一个整数数组中的元素,并保留原数组的次序
输入包括两行:
-
第一行是被删除的整数列表(记为列表A),每个整数之间使用空格分隔
- 第二行是需要删除的整数列表(记为列表B),每个整数之间使用空格分隔
输出只有一行,即列表A中删除列表B元素后的整数列表,输出元素按照在列表A中的次序排列,每个整数之间使用空格分隔
样例输入:
1 2 3 4 5
2 4
样例输出:
1 3 5
解答思路:本题较简单,获取第一行时,用一个list保存;获取第二行时,将每个数从list中删除,最后输出即可。
以上是关于西安尚学堂练习09.17|Java编程笔试面试题的主要内容,如果未能解决你的问题,请参考以下文章