leetcode
AWildPointer
Hitszer
展开
-
C++力扣刷题记录——深度优先搜索·DFS(递归前中后序)&&广度优先(队列)(持续更新)
1 海岛数量给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围思路我们可以将二维网格看成一个无向图,竖直或水平相邻的 11 之间有边相连。为了求出岛屿的数量,我们可以扫描整个二维网格。如果一个位置为 11,则以其为起始节点开始进行深度优先搜索。在深度优先搜索的过程中,每个搜索到的 11 都会被重新标记为 00。最终岛屿的数量就是我们进行深度优原创 2020-07-28 10:52:02 · 371 阅读 · 0 评论 -
C++力扣刷题记录——字符串(持续更新)
string的有用的常用操作a[n],从0开始的for(auto c : string)string s2=s.substr(0,5) or (6)从下标6开始s.append(args) 类似vector的push_back()s.replace(range,args)在范围range内替换其中args可以指str,pos,len或者n,c n个c 或者str等swap(a,b)or a.swap(b);‘/0’是字符串的结尾1 58 最后一个单词的长度(简单)给定一个仅包含大小写字母原创 2020-07-26 22:33:24 · 240 阅读 · 0 评论 -
C++力扣刷题记录——回溯算法(持续更新)
回溯算法讲解回溯算法将解空间看作一定的结构,通常为树形结构,一个解对应于树中的一片树叶。算法从树根(即初始状态出发),尝试所有可能到达的结点。当不能前行时就后退一步或若干步,再从另一个结点开始继续搜索,直到尝试完所有的结点。也可以用走迷宫的方式去理解回溯,设想把你放在一个迷宫里,想要走出迷宫,最直接的办法是什么呢?没错,试。先选一条路走起,走不通就往回退尝试别的路,走不通继续往回退,直到走遍所有的路,并且在走的过程中你可以记录所有能走出迷宫的路线。回溯与八皇后问题在国际象棋中,皇后是最强大的一枚棋子原创 2020-07-20 23:21:06 · 493 阅读 · 0 评论 -
C++力扣刷题记录——动态规划(持续更新)
动态规划思路确定DP状态最优子结构:可以分成子结构求无后效:只和前面一个有关确定转移方程根据分类讨论确定写程序根据分类讨论确定3写程序原创 2020-07-16 12:37:13 · 403 阅读 · 0 评论 -
C++力扣刷题记录——数组(持续更新)
C++ leetcode刷题记录原理题型原理题型原创 2020-07-12 19:51:26 · 326 阅读 · 0 评论