原题链接 考察:dfs或者bfs 暴力枚举即可,没有什么特别的技巧 dfs:找到了就标记一下,避免继续搜索(因为答案一定在long long里,所以超过18位就可以不用算了) bfs:用G++编译,找到当即退出.注意一定要让所有路径都有返回值否则报错 1 #include <cstdio> 2 #i ...
分类:
其他好文 时间:
2021-01-11 11:20:58
阅读次数:
0
原题链接 考察:bfs+三维数组 思路: 没什么好说的,就是三维走迷宫,比二维多两个方向就是了 POJ请不要用C++11的特性 最短路还是用bfs比较好,一开始用dfs结果貌似栈溢出了 #include <iostream> #include <cstring> #include <queue> u ...
分类:
其他好文 时间:
2021-01-11 10:57:35
阅读次数:
0
回溯算法本质就是枚举,在给定的枚举集合中不断从其中尝试搜索找到问题的解,如果在搜索过程中发现不满足求解条件,则回溯返回,尝试其他路径继续搜索解决,这种走不通就回退再尝试其他路径的方法就是回溯法。解决一个回溯问题,实际上就是一个决策树的遍历过程。你只需要思考3个问题:1. 路径;2. 选择列表:3. ... ...
分类:
编程语言 时间:
2021-01-05 11:01:42
阅读次数:
0
参考:https://labuladong.gitbook.io/algo/di-ling-zhang-bi-du-xi-lie/bfs-kuang-jia 问题: 求从【0000】四位密码锁初始状态,最少经过几步,能找到给定目标秘密target 另,其中若转到给定deadends的密码,则永远打不 ...
分类:
其他好文 时间:
2021-01-05 10:54:46
阅读次数:
0
☆☆☆思路:剑指18.二叉树的镜像 方法1:递归。二叉树此类递归问题,要以根节点为目标点进行分析。 思路1:首先分别翻转根节点的左右子树,然后交换左右子树的位置即可。 思路2:也可以先交换左右子树的位置,然后再分别翻转根节点的左右子树。 方法2:BFS层序遍历 层序遍历树的所有节点,然后交换其左右节 ...
分类:
其他好文 时间:
2020-12-28 11:24:22
阅读次数:
0
深度优先遍历DFS 1、递归实现 递归实现比较简单。也就是前序遍历,我们依次遍历当前节点,左节点,右节点即可,以此不断递归下去,直到叶节点(终止条件)。 public class Solution { private static class Node { public int value; pub ...
分类:
其他好文 时间:
2020-12-25 11:53:08
阅读次数:
0
水题~ const int N=25; char g[N][N]; bool vis[N][N]; int n,m; PII st; bool check(int x,int y) { return x>=0 && x<n && y>=0 && y<m; } int bfs() { queue<PI ...
分类:
其他好文 时间:
2020-12-24 12:06:48
阅读次数:
0
从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 例如: 给定二叉树: [3,9,20,null,null,15,7], 返回: [3,9,20,15,7] 提示: 节点总数 ? 1000 BFS /** * Definition for a binary tree node. ...
分类:
其他好文 时间:
2020-12-24 11:52:04
阅读次数:
0
题意: 戳这里 分析: \(sam\) 裸题,求第 \(k\) 大字符串 首先建出 \(sam\) 然后求出 \(siz[i]\) 表示 \(i\) 节点代表的串的 \(endpos\) 的集合大小 然后分情况讨论: \(T==0\) 只统计本质不同的串的个数,所以所有点的 \(siz[i]\) 都 ...
分类:
编程语言 时间:
2020-12-23 11:33:36
阅读次数:
0
复习bfs 这题我们用bfs 做 class Solution { public: int numSquares(int n) { queue <int> q; vector <int> dist(n+1,INT_MAX); q.push(0); dist[0] = 0; while(q.size( ...
分类:
其他好文 时间:
2020-12-21 12:01:05
阅读次数:
0