首页 > 58同城2021校招笔试-后端-8月31日
头像
进击的岸
编辑于 2020-08-31 21:40
+ 关注

58同城2021校招笔试-后端-8月31日 投票

共有字符串(80%)

public static ArrayList<String> findCommonString (ArrayList<ArrayList<String>> values) {
        // write code here
		if(values==null)return null;
		ArrayList<String> res=new ArrayList<String>();
		if(values.size()==1)return res;
		HashMap<String, Integer> map=new HashMap<String, Integer>();
		HashMap<String, Integer> mapO=new HashMap<String, Integer>();
		ArrayList<String> start=values.get(0);
		for(String str:start) {
			if(map.containsKey(str)) {
				map.put(str,map.get(str)+1);
			}else {
				map.put(str,1);
				
			}
		}
		for(int i=1;i<values.size();i++) {
			for(int j=0;j<values.get(i).size();j++) {
				if(map.containsKey(values.get(i).get(j))) {
					if(mapO.containsKey(values.get(i).get(j))) {
						mapO.put(values.get(i).get(j), mapO.get(values.get(i).get(j))+1);
					}else {
						mapO.put(values.get(i).get(j), 1);
					}
				}
			}
			map.clear();
			map.putAll(mapO);
			mapO.clear();
		}
		
		Set<String> set=map.keySet();
		for(String s:start) {
			if(map.containsKey(s)) {
				if(map.get(s)!=0){
                    res.add(s);
                    map.put(s,map.get(s)-1);
                }
			}
		}
		
		
		
		return res;
    }

平方数(AC)

破译敌军密码(AC)

public static int translateNum (int num) {
	        // write code here
	        return result(String.valueOf(num));
	}
	public static int result(String str){
	        int len=str.length();
	        if(len==0)return 1;
	        int way1=result(str.substring(1,len));
	        int way2=0;
	        if(len>=2&&Integer.valueOf(str.substring(0, 2))<=25&&Integer.valueOf(str.substring(0, 2))>=10){
	            way2=result(str.substring(2,len));
	        }
	        return way1+way2;
	    }
这里很像青蛙跳台阶,就是多了几个条件的判断,如2步的情况要判断是否在[10,25]范围,会出现如01,26等等不满足情况。

感想:

总体难度不大,兄弟们一起继续努力,求面试,求offer



全部评论

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

相关热帖

近期热帖

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

近期精华帖

热门推荐