[Lc]71简化路径

题目 题解 时间复杂度$O(N)$,遍历path 空间复杂度$O(N)$,两个n,t暂存路径,res存结果 class Solution { public: string simplifyPath(string path) { string res, tmp; if(path.empty()) return res;//特

[Lc]38外观数列

题目 题解 时间复杂度$O(N*M)$ 空间复杂度$O(M_{end}+M_{end-1}) class Solution { public: string countAndSay(int n) { if(n == 0) return ""; string res = "1&quo

[Lc]1254统计封闭岛屿的数目

题目 题解 1. DFS 时间复杂度$O(MN)$ 空间复杂度$O(1)$ class Solution { public: int dfs(vector<vector<int>>& grid, int row, int column){ int rows = grid.size(); int columns = grid[0].size();//计算行列数 if(row

[Lc]200岛屿数量

题目 题解 1. DFS 时间复杂度$O(N*M)$ 空间复杂度$O(N*M)$(最坏情况) class Solution { public: void dfs(vector<vector<char>>& grid, int row, int column){ int rows = grid.size(); int columns = grid[0].size()

[Lc]84柱状图中最大的矩形

题目 题解 1. 双数组法 时间复杂度$O(N)$ 空间复杂度$O(N)$ class Solution { public: int largestRectangleArea(vector<int>& heights) {//多种方法,可以暴力搜索,但会超时,这里用时间复杂度较低的方

[Lc]28实现strStr()

题目 题解 这道题说是简单题结果花了我两天,BF算法的确简单,但是其他的字符串匹配算法真的太复杂了。。。 1. 正则表达式 这个在leetcode上超时