广搜
cc 提升ing 变优秀ing
有需要搜广推nlp实习生的部门吗?
展开
-
leetcode:1030. 距离顺序排列矩阵单元格(简单,排序,广搜)
题目:分析:看完题目觉得是广搜,但是总感觉应该是有特殊的,没想到直接是如下这个图:看下图,每个点都对应着四个点,每一次一条边上的和相等。代码:一直出错,先放弃了~方法二:也可以当做排序来做,python3的排序如下:class Solution: def allCellsDistOrder(self, R: int, C: int, r0: int, c0: int) -> List[List[int]]: ret = [(i, j) for i in ra原创 2021-03-22 10:05:43 · 141 阅读 · 3 评论 -
leetcode:433. 最小基因变化(图,BFS)
题目:分析:很容易想到是构建一个无向图。代码:class Solution {public: vector<vector<int> > vv; bool f(string s1,string s2) { int c=0; for(int i=0;i<s1.size();i++) { if(s1[i]!=s2[i]) c++; } if(c原创 2020-12-04 09:27:01 · 125 阅读 · 0 评论 -
洛谷:P2895 [USACO08FEB]Meteor Shower S(bfs,)
题目:分析:与时间有关的变化图,没有任何的思路。只能想到暴力搜:看题解,自己思维的错误点在于:即使有时间点的影响,也不可能重复到达其他的点。代码:#include<bits/stdc++.h>using namespace std;int A[605][605];int D1[5]={0,-1,1,0,0}; int D2[5]={0,0,0,-1,1};void f(int x,int y,int c){ if(x<0) return; if(y<0) r原创 2020-08-26 17:42:09 · 290 阅读 · 0 评论 -
洛谷:P1443 马的遍历(普及/提高-,bfs)
题目:分析:pair代码:#include<bits/stdc++.h>using namespace std;int A[405][405];int B1[8]={-1,1,1,-1,2,2,-2,-2};int B2[8]={-2,2,-2,2,1,-1,1,-1};int main(){ int a1,a2,a3,a4; cin>>a1>>a2>>a3>>a4; memset(A,-1,sizeof(A)); A[原创 2020-08-25 10:13:45 · 252 阅读 · 0 评论 -
leetcode:1091. 二进制矩阵中的最短路径(广搜)
题目:分析:典型广搜,vector 可作为队列的内容。代码:int main(){ vector<int> t1; t1.push_back(0);t1.push_back(0);t1.push_back(0); vector<int> t2; t2.push_back(1);t2.push_back(1);t2.push_back(0); vect...原创 2020-03-04 23:31:10 · 183 阅读 · 0 评论 -
leetcode:310. 最小高度树(广搜)
题目:分析:没思路,直接盗取大佬的吧、首先明确,结果的个数不是1就是2.每次都把叶子节点全部去掉,那么相当于最大高度少了1,层层拨开,那么最后剩的一个或者两个就是结果了。用矩阵表示树吧,这样,只遍历所在行即可,只有1个1个是当前的叶子节点。代码(超时了):int n; vector<vector<int> > e; //矩阵表示树 0表示不相邻 ...原创 2020-02-25 16:14:10 · 144 阅读 · 0 评论 -
leetcode:994. 腐烂的橘子(广搜)
题目:分析:这显然是一道多源的搜索题目。我习惯用广搜。代码:void f(vector<vector<int> > &n,vector<vector<int> > &g,int x,int y,int dep,int c){ if(x==-1||y==-1||x==n.size()||y==n[0].size()) re...原创 2020-02-25 11:11:41 · 173 阅读 · 0 评论 -
leetcode:199. 二叉树的右视图(广搜)
题目:分析:不用刻意找每行最后一个,引入一个变量即可。代码: TreeNode* root; queue<TreeNode*> q1; vector<int> v; if(root==NULL) return v; q1.push(root); while(!q1.empty()){ queue<TreeNode*> q2; ...原创 2020-02-24 23:48:39 · 90 阅读 · 0 评论 -
leetcode:107. 二叉树的层次遍历 II
题目:分析:正着来,最后使用逆转容器中的元素的函数—reverse()代码:queue<TreeNode*> q1; vector<vector<int> > vv; if(root==NULL) return vv; q1.push(root); while(!q1.empty()){ queue<TreeNode*> q2...原创 2020-02-24 22:03:24 · 88 阅读 · 0 评论 -
leetcode:102. 二叉树的层次遍历(广搜)
题目:分析:两层while的队列空判断.很好代码:int main(){ TreeNode* root; queue<TreeNode*> q1; vector<vector<int> > vv; if(root==NULL) return vv; q1.push(root); while(!q1.empty()){ queue<...原创 2020-02-24 21:53:09 · 157 阅读 · 0 评论