疯狂游戏3.1第三题解法

大家帮忙看看有什么问题?还有没有别的解法,因为是考试完静下来才做出来的,不知道对不对。。也没考虑有向图成环的问题。
第二题直接print("1")就能过50+%,还有老哥用random()%2过了60+的,真神了。。。
public class test202031 {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		String s = in.nextLine();
		String[] split = s.split("\\|");

		// list为所需要匹配的开始节点
		char[] c = split[1].toCharArray();
		List<String> list = new ArrayList<String>();
		for (int i = 0; i < c.length; i++) {
			if (c[i] <= '9' && c[i] >= '0') {
				list.add(c[i] + "");
			}
		}

		char[] d = split[0].toCharArray();
		List<String> list2 = new ArrayList<String>();
		for (int i = 0; i < d.length; i++) {
			if (d[i] <= '9' && d[i] >= '0') {
				list2.add(d[i] + "");
			}
		}

		// map为有向图的指向
		Map<String, List<String>> map = new HashMap<>();
		for (int i = 0; i < list2.size(); i = i + 2) {
			if (map.get(list2.get(i)) == null) {
				List<String> list3 = new ArrayList<String>();
				int m = i + 1;
				list3.add(list2.get(m));
				map.put(list2.get(i), list3);
			} else {
				List<String> list3 = map.get(list2.get(i));
				int m = i + 1;
				list3.add(list2.get(m));
				map.put(list2.get(i), list3);
			}

		}
		System.out.println(map.toString());
		//end为匹配的最终节点
		String end = split[2];
		for (String s1 : list) {

			getResult(map, s1, end, new ArrayList<String>());
		}
		System.out.println(set.toString());

	}

	public static Set<String> set = new HashSet<>();
	//递归思路就是先从起始点开始的点加到list,再对list中的点进行下一步的递归,如果最终匹配到最终点了就把整个路径加到set中
	public static void getResult(Map<String, List<String>> map, String start, String end, List<String> list) {
		if (start.equals(end)) {
			list.add(end);
			set.addAll(list);
			return;
		}
		list.add(start);
		List<String> list1 = map.get(start);
		if (list1 != null) {
			for (String s : list1) {
				getResult(map, s, end, list);
			}
		}

	}
}



#笔试题目##疯狂游戏##题解#
全部评论
题目大概类似于 输入[[1,3],[1,4],[2,3],[4,5]]|[1,2]|5 用|分割,前面是有向图的指向和节点,中间部分是开始节点,最后的数字是最终要匹配的点 输出所有可能的路径的点,点不能重复且升序表示
点赞 回复 分享
发布于 2020-03-01 19:51
java我有点看不懂😂
点赞 回复 分享
发布于 2020-03-01 21:08

相关推荐

不愿透露姓名的神秘牛友
10-25 11:19
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务