6.11便利蜂笔试(校招屡败屡战)
又是刚准备粘贴到在线编译器就考试结束的一天,气死我了!!!我就不信了,回回我这么倒霉
下面分享下便利蜂6.7日的笔试题1,代码应该是功能完整的,并且能通过:
package 春招笔试题.便利蜂笔试;
import java.util.*;
/**
* @author deepinsea
* @data 2021/6/11 19:06
* 题目描述:
* 给定一组词组,每个词组包含id和字符串的映射,现输入另一组词组,要求找出新的词组与老的词组的diff关系,diff要求如下:
* 1、id相同且字符串相同的两个词组视为相同
* 2、id相同,且字符串不同的输出modify+id
* 3、新的词组id在老的词组id中不存在的,视为新增,输出add+id
* 4、老的词组id在新的词组id中不存在的,视为删除,输出delete+id
* <p>
* 输入描述
* 第一行代表老的词组,第二行代表新的词组
* 每一行是id-字符串的组合,多个词组以逗号分隔
* 如:1-a,2-b,3-c
* <p>
* 输出描述
* 一个字符串,多个结果按字符串排序后(直接使用string的compareTo方法比较大小即可)以逗号分隔,如:add-2,delete-22
* <p>
* 样例输入
* 1-a,2-b,3-c
* 1-a,2-bb,3-c
* 样例输出
* modify-2
* <p>
* 提示
* 输入:
* 1-a,2-b,3-c
* 1-a,2-bb
* 输出:
* modify-2,delete-3
* <p>
* 输入:
* 1-a
* 1-a,2-b
* 输出:
* add-2
*/
public class Exam1EasyBee {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 输入两行字符串
// String str1 = sc.nextLine();
// String str2 = sc.nextLine();
String str1 = "1-a,2-b,3-c";
String str2 = "1-a,2-bb";
System.out.println(str1);
System.out.println(str2);
// 切割出id与value
String[] s1 = str1.split(",");
String[] s2 = str2.split(",");
System.out.println(Arrays.toString(s1));
// 先将string数组转为list
List list1 = new ArrayList();
List list2 = new ArrayList();
for (int i = 0; i < s1.length; i++) {
list1.add(s1[i]);
}
for (int i = 0; i < s2.length; i++) {
list2.add(s2[i]);
}
// 加空白
if (s1.length > s2.length) {
for (int i = 0; i < s1.length - s2.length; i++) {
list2.add(" ");
}
}
if (s2.length > s1.length) {
for (int i = 0; i < s2.length - s1.length; i++) {
list1.add(" ");
}
}
System.out.println(list2);
// 条件判断
String result = "";
for (int i = 0; i < list1.size(); i++) {
// 判断
// 不包含(list1为空白和id相同但value不同)
if (!list2.contains(list1.get(i))) {
// 新增
if (list1.get(i) == " ") {
if (result.length()==0) {
// System.out.print("add-" + (i + 1));
result += "add-" + (i + 1);
}else {
// System.out.print(",add-" + (i + 1));
result += ",add-" + (i + 1);
}
}
}
if (!list1.contains(list2.get(i))) {
// 删除
if (list2.get(i) == " ") {
if (result.length()==0) {
// System.out.print("delete-" + (i + 1));
result += "delete-" + (i + 1);
}else {
// System.out.print(",delete-" + (i + 1));
result += ",delete-" + (i + 1);
}
}
}
if (!list1.contains(list2.get(i))&&list1.get(i) != " "&&list2.get(i) != " ") {
// 修改
if (result.length()==0) {
// System.out.print("modify-" + (i + 1));
result += "modify-" + (i + 1);
}else {
// System.out.print(",modify-" + (i + 1));
result += ",modify-" + (i + 1);
}
}
}
System.out.println(result);
}
}
还是太菜了,不知道有谁和我一样,秋招因为消息闭塞没有参加,春招3,4月份才参加笔试面试。因为参加的较晚还没刷多少算法题,导致现在笔试通不过......
哎,太难了!
机会对二本的同学来说本来就少的可怜,还通不过笔试,哎~
#笔试题目##便利蜂#

查看10道真题和解析