360笔试

1. 寻找子串(只需要考虑单个字符,题目有诈😒):
mport java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class 寻找子串 {
	public static void main( String[] args ) {
		helper();
	}

	private static void helper() {
		Scanner sc = new Scanner(System.in);
		String s = sc.next();
		int len = s.length();
		int res = 0;
		Map<String, Integer> map = new HashMap<>();
		for(int i=0;i<len;i++) {
			String cur = s.charAt(i)+"";
			if(!map.containsKey(cur)) {
				map.put(cur, 1);
			}else {
				map.put(cur, map.get(cur) + 1);
			}
			if(map.get(cur) > res) {
				res ++;
			}
		}
		System.out.println(res);
	}
}
2. 散步:
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class 散步 {
	public static void main( String[] args ) {
		helper();
	}

	private static void helper() {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int m = sc.nextInt();
		int[] d = new int[m];
		for(int i=0;i<m;i++) {
			d[i] = sc.nextInt();
		}
		Map<Integer, Boolean> map = new HashMap<>();
		for(int i=1;i<=n;i++) {
			digui(0, i, d, map, n);
		}
		System.out.println(map.size());
	}

	private static void digui( int i , int s, int[] d , Map<Integer, Boolean> map, int n ) {
		if(i == d.length) {
			map.put(s, true);
			return;
		}
		if(s + d[i] <= n) {
			digui(i + 1, s + d[i], d, map, n);
		}
		if(s - d[i] >= 1) {
			digui(i + 1, s - d[i], d, map, n);
		}
	}
}
选择题一塌糊涂~人品全攒到编程题来了
#笔试题目##360公司#
全部评论
大佬,第一题暴击干的,只有18的正确率,提示内存超出限制😂
点赞 回复
分享
发布于 2019-08-31 18:03
第二题的逻辑是什么🤔,为什么样例的结果是8啊,我语文不好,没救了😭
点赞 回复
分享
发布于 2019-08-31 18:08
滴滴
校招火热招聘中
官网直投
强!
点赞 回复
分享
发布于 2019-08-31 18:09
第一题 from collections import Counter if __name__ == "__main__": s = input() a = Counter(s) print(a.most_common()[0][1])
点赞 回复
分享
发布于 2019-08-31 21:21

相关推荐

点赞 6 评论
分享
牛客网
牛客企业服务