leetcode刷题笔记——733图像渲染

题目

leetcode刷题笔记——733图像渲染

思路

首先想到广度优先搜索(BFS)与深度优先搜索(DFS),要背下BFS与DFS,往上面套就行。

BFS与队列相匹配,DFS与栈相匹配。

BFS模板:

queue<int> Q;
int visited[N + 1] = { 0, };
Q.emplace(第一个元素);
while(!Q.empty()){
	int x = Q.front();
	Q.pop();
	//在此处添加出队列后的操作
	visited[x] = 1;
	//
	for(int i...与当前元素相关的入队的个数){
		if(!visited[i] && 条件){
			//在此处添加入队列后的操作
			visited[x] = 1;
			//
			Q.emplace(i);
		}
	}
}

DFS模板:
非递归借助栈

 void dfs()//参数用来表示状态
 {
     if(到达终点状态)
     {
         ...//根据题意来添加
         return;
     }
     if(越界或者是不符合法状态)//剪枝
         return;
     for(扩展方式)
     {
         if(扩展方式所达到状态合法)
         {
             ....//根据题意来添加
             标记;
             dfs();
             修改(剪枝);
             (还原标记);
             //是否还原标记根据题意
             //如果加上(还原标记)就是 回溯法
         }
     }
 }
上一篇:K 站中转内最便宜的航班(bfs最短路)


下一篇:CF1063B