class Solution { public: vector >
permuteUnique(vector &num) { vector > result; if (num.size() path;
dfs(n...
分类:
其他好文 时间:
2014-06-29 14:09:34
阅读次数:
220
原题地址:https://oj.leetcode.com/problems/subsets/题意:枚举所有子集。解题思路:碰到这种问题,一律dfs。代码:class
Solution: # @param S, a list of integer # @return a list of l...
分类:
编程语言 时间:
2014-05-30 04:31:09
阅读次数:
1243
题目链接题意 :
要从1城市到n城市,求最短路是多少,从a城市到达b城市的路程,如果你到过c城市,则需要走p,否则走r长。思路 :
因为可以来回走,所以不能用单纯的最短路,可以用二维SPFA,状态压缩一下,第二维来记录状态,表示到过这个点的第几个状态。也可以用DFS,因为最多十个点,所以如果走某一个...
分类:
其他好文 时间:
2014-05-30 04:08:41
阅读次数:
279
广度优先搜索&深度优先搜索(Breadth First Search &
Depth First
Search)BFS优缺点:同一层的所有节点都会加入队列,所以耗用大量空间;仅能非递归实现;相比DFS较快,空间换时间;适合广度大的图;空间复杂度:邻接矩阵O(N^2);邻接表O(N+E);时间复杂度:...
分类:
其他好文 时间:
2014-05-29 15:33:14
阅读次数:
407
A*搜索算法(A Star Search
Algorithm)A*算法主要用于在二维平面上寻找两个点之间的最短路径。在从起始点到目标点的过程中有很多个状态空间,DFS和BFS没有任何启发策略所以穷举所有的状
态空间,不适合仅需对局部进行搜索的应用。启发式搜索的关键在于:当前节点在选择下一步节点的时候...
分类:
其他好文 时间:
2014-05-29 13:10:48
阅读次数:
227
都是考查DFS。经典回溯算法,问题在于我对该类型的代码不熟悉,目前以参考别人的代码,然后加上自己的实现为主,通过类似的题目加强理解。一、给定一棵二叉树,判断是否存在从root到leaf的路径和等于给定值sum,存在返回true,否则返回false。思路:DFS。代码:
1 private b...
分类:
其他好文 时间:
2014-05-28 23:51:25
阅读次数:
389
问题来源于leetcode上的两道题 Path Sum I &&
II,分别写了两个dfs。1 void dfs(TreeNode node , int sum , ArrayList curPath)2 void
dfs(TreeNode node , int sum , boolean ifEx...
分类:
编程语言 时间:
2014-05-28 13:11:14
阅读次数:
361
题目:计算一棵二叉树所有路径组成的数的总和。思考:也是DFS的基础应用。虽然还是套着别人的DFS框架写的,但是学习通常会经历先模拟,再创新的过程。代码:
1 private int sum = 0; 2 public int sumNumbers(TreeNode root) { 3...
分类:
其他好文 时间:
2014-05-28 11:13:01
阅读次数:
225
題目鏈接題意 : 將幾個片段如圖所示方法縮成一個序列,求出最短這個序列。思路 :
其實我也不知道怎麼做。。。。。看網上都用了DP。。。。。但是我不會。。。。。這個DP不錯,還有用KMP+状压DP做的 1 //1699 2 #include 3
#include 4 #include 5 #in...
分类:
其他好文 时间:
2014-05-27 16:06:19
阅读次数:
282
Sum It Up
Time Limit: 1000MS
Memory Limit: 10000K...
分类:
其他好文 时间:
2014-05-25 22:56:45
阅读次数:
288