随笔分类 - dfs
摘要:最短路径2 ECNU-1818 本题需要注意的一个问题就是重边的问题,虽然这题的数据量很小,但是不能使用邻接矩阵来存储,也不能将重边记为最小边来计算。 这里求最短路径的条数有很多方法,我第一个想到的是使用dfs来遍历,但是会超时。 有一个简单的记录最短路径条数的方法是使用一个num数组 /** *
阅读全文
摘要:有钱人买钻石 ECNU-3306 题解:这个题目,乍一看以为是dp背包,可是数据量却那么大,只有1,5,10,25四种面额的硬币,每种数量若干,要使得能够刚好兑换成功总金额,在此前提下,还要使得硬币数量越多越好。我们当然是要让面额小的尽量多使用,但是如果面额小的使用某一值H时,后面可能就无法兑换成功
阅读全文
摘要:克隆图 LeetCode-133 使用一个map来存储已经遍历的结点,这个存起来的结点必须是新new的才符合题意 /* // Definition for a Node. class Node { public int val; public List<Node> neighbors; public
阅读全文
摘要:正则表达式 "PREV 35" 首先看到题目的要求是求解最长的字符串,一看到最长应该想到一般是使用深度优先搜索和动态规划。 本题中求解的是正则表达式,因为符号只有四种,而且括号可以嵌套,所以我们可以从递归的角度求解最长的长度。 当遇到的字符是左括号时,这个时候应该继续递归以等待右括号的出现,当遇到的
阅读全文