首页 > 6.11便利蜂笔试(校招屡败屡战)
头像
白羊deepinsea
编辑于 2021-06-12 23:12
+ 关注

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月份才参加笔试面试。因为参加的较晚还没刷多少算法题,导致现在笔试通不过......
哎,太难了!
机会对二本的同学来说本来就少的可怜,还通不过笔试,哎~

全部评论

(2) 回帖
加载中...
话题 回帖

相关热帖

近期热帖

近期精华帖

热门推荐