06 2022 档案

摘要:力扣 题目77- 组合题目 题解 回溯算法+递归 这题属于很典型的回溯算法题了 都做到77了应该没什么要说的了 懂得都懂 代码 1 #include<iostream> 2 #include<vector> 3 using namespace std; 4 int loop(int &n,int &k, vector<v 阅读全文
posted @ 2022-06-30 15:11 无聊的阿库娅 阅读(16) 评论(0) 推荐(0)
摘要:力扣 题目76- 最小覆盖子串题目 题解 直接看代码吧 代码 1 #include<iostream> 2 #include<string> 3 #include<unordered_map> 4 using namespace std; 5 class Solution { 6 public: 7 string minWind 阅读全文
posted @ 2022-06-29 16:59 无聊的阿库娅 阅读(21) 评论(0) 推荐(0)
摘要:力扣 题目75- 颜色分类题目 题解 1.移动法(推荐) 在该方法中我们只需要记录一下白色开头值即可 如果为0则移动到开头 如果为1则移动到白色开头值 2会被推到最后 例 2,0,2,1,1,0->0,2,2,1,1,0->0,1,2,2,1,0->0,1,1,2,2,0->0,0,1,1,2,2 2.交换法 需要记录 白色 阅读全文
posted @ 2022-06-27 18:45 无聊的阿库娅 阅读(37) 评论(0) 推荐(0)
摘要:力扣 题目74- 搜索二维矩阵题目 题解 先对第一列进行二分搜索 找到对应行 再对 对应行进行二分搜索 代码 1 #include<iostream> 2 #include<vector> 3 using namespace std; 4 class Solution { 5 public: 6 bool searchMatri 阅读全文
posted @ 2022-06-26 16:24 无聊的阿库娅 阅读(46) 评论(0) 推荐(0)
摘要:力扣 题目73- 矩阵置零题目 题解 其实思考一下就知道 我们必须记录一下遍历时0的xy 然后根据记录再去放0 但是如果我们使用其他容器去记录那么我们遍历完还要遍历 记录容器 时间复杂度肯定会搞 有没有一种方法可以在当前容器记录呢? 我们使用第一行与第一列记录 如果 if (matrix[i][j] == 0) { matr 阅读全文
posted @ 2022-06-25 15:38 无聊的阿库娅 阅读(25) 评论(0) 推荐(0)
摘要:力扣 题目72-  编辑距离题目 题解(评论区大佬解法) 首先很明显这题需要使用动态规划法 关键在于 在word1遍历到当前字符时如何利用前面的已经遍历过字符的最少操作数 成为了难题 题目这样 写到 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 那么我们按照这样划分为4种情况(这里的i 与 j 阅读全文
posted @ 2022-06-24 15:50 无聊的阿库娅 阅读(68) 评论(0) 推荐(0)
摘要:力扣 题目71-  简化路径题解 这里我使用栈来做 分为两部分 1.分割 我们需要将path的路径进行分割 /home//foo/ -> home foo 注意:1.以/分割 多/视为一个/ 2.最后/特殊处理 因为由于/可能不在最后 所以最后的字段分割需要特殊处理 1 stack<string> stk; 2 string 阅读全文
posted @ 2022-06-23 17:35 无聊的阿库娅 阅读(52) 评论(0) 推荐(0)
摘要:力扣 题目70-  爬楼梯题目 题解 当前阶层方法数=(当前阶层-2的方法数)+(当前阶层-1的方法数) 代码 1 #include<iostream> 2 #include<vector> 3 using namespace std; 4 class Solution { 5 public: 6 int climbStai 阅读全文
posted @ 2022-06-22 17:12 无聊的阿库娅 阅读(36) 评论(0) 推荐(0)
摘要:力扣 题目69-  x 的平方根 题目 题解 二分搜索法 但是不同的是我们每次要与中间的平方比较 代码 1 #include<iostream> 2 using namespace std; 3 class Solution { 4 public: 5 int mySqrt(int x) { 6 if (x == 1) { 7 re 阅读全文
posted @ 2022-06-08 09:50 无聊的阿库娅 阅读(17) 评论(0) 推荐(0)
摘要:题目 题解 没有什么技巧 就是复杂 直接看代码吧 代码(来自评论区大佬) 1 class Solution { 2 public: 3 vector<string> fullJustify(vector<string>& words, int maxWidth) { 4 vector<string> 阅读全文
posted @ 2022-06-06 14:05 无聊的阿库娅 阅读(20) 评论(0) 推荐(0)
摘要:力扣 题目67-  二进制求和题目 题解 仔细想想其实这题和力扣 题目66- 加一很类似 其中的加法运算我们就可以参考 66题的记录进位的方法 但66题是+1而这题是相加 这就表面了两个数的长度可能不同 那么我们可以把短的那个前面加入0 再进行运算 至于如何将先算出来的结果后放入 这就要考虑到递归算法 在我们算出来第一位时 便回 阅读全文
posted @ 2022-06-05 13:04 无聊的阿库娅 阅读(50) 评论(0) 推荐(0)
摘要:力扣 题目66-  加一题目 题解 可以看成两种情况 1.+1 后一位+1 如果等于10 取0 前一位+1 2.扩充 第一位+1 等于10 取0 插入1在开头 因此我们只需要一个变量记录是否进位了这题就会简单很多 就不多说了 代码已经能够看懂 代码 1 #include<iostream> 2 #include<vecto 阅读全文
posted @ 2022-06-04 11:52 无聊的阿库娅 阅读(31) 评论(0) 推荐(0)
摘要:题目 题解 1.正则表达式 2.分情况讨论 3.有限状态自动机? 没学过啊哭 丢人了 代码(正则表达式 来自用户) 1 class Solution { 2 public: 3 static const regex pattern; 4 5 bool isNumber(string str) { 6 阅读全文
posted @ 2022-06-03 13:00 无聊的阿库娅 阅读(20) 评论(0) 推荐(0)