Search
Mamba_ZJP
这个作者很懒,什么都没留下…
展开
-
二维网格图上的DFS+回溯 LeetCode.79/1219
引言:在图(无论网格图还是什么图)上dfsdfsdfs遍历的时候,我们都需要给访问过的点设置标记,以免访问访问过的点(反复横跳、循环遍历一个环)。但是,有些情况下我们需要正确的遍历某一个特定的方向才能得到正确的答案(例:得到最大的值、拼成一个单词)。如果,我们先遍历了一个错误的方向,把一些点做上了标记。那么回溯到正确的点的正确的方向时,那些本应该是正确答案的点都访问不了了。所以我们回溯的时候需要状态重置,即访问完这个点a的可访问的邻接点的时候,我们需要将这个点的标记取消。这样当我们回溯到点aaa后面一.原创 2020-09-13 13:13:50 · 316 阅读 · 0 评论 -
LeetCode 301.删除无效的括号 DFS/BFS
题目链接:https://leetcode-cn.com/problems/remove-invalid-parentheses/首先,先说下这题很恶心,没给数据量。这道题感觉类似于什么括号匹配的题目(用右括号去匹配左括号),而且是最小,可能是贪心这类的,但是这道题要求的是所有可能的结果,多出来的可能是左括号、也可能是右括号,且删掉一个可能使前面kkk个字符满足了有效括号,后面的删除结果也要随之改变了。既然直接做会很麻烦,那么就暴力地去删除每一个字符,然后再对删除了一个的每一个串去删除第二个括号。.原创 2020-09-12 23:02:18 · 230 阅读 · 0 评论 -
状态空间搜索/Dijkstra/Uva10603/路径输出/刘佳汝紫书P202
很多求最短最长最多做少的问题都可以归结为图的遍历,但是这些图往往不是程序事先给你读入的,是由程序动态生成的。 ——刘佳汝此题来源于https://vjudge.net/problem/UVA-10603题目简述:给3个杯子容量分别为a,b,c,最初只有第三个杯子装满了c升水,其他两个杯子都是空的。最少需要来回倒多少水才(第一个杯子往第二个杯子里倒了3升,倒过的...原创 2020-04-16 22:43:10 · 184 阅读 · 0 评论 -
LeetCode 542/动态规划/多源BFS
class Solution {public: vector<vector<int>> updateMatrix(vector<vector<int>>& matrix) { int n = matrix.size(),m = matrix[0].size(); vector<vector<...原创 2020-04-15 23:45:34 · 188 阅读 · 0 评论