首页 > 携程Java后端开发4月15日笔试参考
头像
牛客886639131号
编辑于 2021-04-18 16:55
+ 关注

携程Java后端开发4月15日笔试参考

忘记题目了,只有代码,写得也比较烂,各位将就着看吧,没优化过的
第一题    盖房子
static String buildingHouse(String n) {
    if(n.charAt(0)=='-'){
        for(int i=0;i<n.length();i++){
            if(n.charAt(i)>'9' || n.charAt(i)<'0') return "N";
        }
        return "O";
    }
    for(int i=0;i<n.length();i++){
        if(n.charAt(i)>'9' || n.charAt(i)<'0') return "N";
    }
    int num = Integer.valueOf(n);
    if(num<1 || num>12) return "O";
    ArrayList<String> str = new ArrayList<>();
    str.add("R");
    for(int i=1;i<num;i++){
        ArrayList<String> tmp = new ArrayList<>();
        for(int j=0;j<str.size();j++){
            if(j%2==0){
                tmp.add("G");
                tmp.add(str.get(j));
                tmp.add("R");
            }else{
                tmp.add(str.get(j));
            }
        }
        str = tmp;
    }
    StringBuilder result = new StringBuilder();
    for(int i=0;i<str.size();i++){
        result.append(str.get(i));
    }
    return result.toString();
}
第二题   代码依赖
import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int target = sc.nextInt();
        HashMap<Integer,ArrayList> map = new HashMap<>();
        while(sc.hasNext()) {
            String str = sc.next();
            String[] tmp = str.split(",");
            ArrayList<Integer> list = new ArrayList<>();
            for(int i=1;i<tmp.length;i++){
                list.add(Integer.valueOf(tmp[i]));
            }
            if(list.size()==0) continue;
            else map.put(Integer.valueOf(tmp[0]),list);
        }
        HashSet<Integer> set = new HashSet<>();
        set.add(target);
        boolean flag = false;
        while(!flag) {
            flag = true;
            for (int key : map.keySet()) {
                if (!set.contains(key)) {
                    ArrayList<Integer> list = map.get(key);
                    for (int i = 0; i < list.size(); i++) {
                        if (set.contains(list.get(i))) {
                            set.add(key);
                            flag = false;
                            break;
                        }
                    }
                }

            }
        }
        int res = 0;
        for(int key:map.keySet()){
            if(set.contains(key) && key!=target){
                res += key;
            }
        }
        System.out.println(res);
    }
}



全部评论

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

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐