随笔分类 - 🌺 刷题记录
摘要:感觉是简单最小堆题目,不知道为啥 leetcode 评级是 hard。以及,因为 python list 排序很快,所以也可直接把链表上所有元素拿下来,排序,再构建全新链表。
阅读全文
摘要:利用数组 1 末尾的空闲空间,使用从后向前的双指针,遍历数组 1 2 。
阅读全文
摘要:二分查找:第 K 小的元素是多大呢?在有序矩阵中,给定一个数值,只需要 o(n) 复杂度,就可以得到 ≤ 它的元素的数量。因此,时间复杂度为 二分的 o(log 值域大小) × 查找的 o(n)。
阅读全文
摘要:经典的 o(n) 做法,是通过类似快排的 partition pivot 操作,递归寻找第 k 大的数;然而思路四更加简洁优雅,时间复杂度也是 o(n) 的。
阅读全文
摘要:先排序,然后固定数字 1,双指针法搜索数字 2 3,注意要把重复的数字 2 3 去除。
阅读全文
摘要:使用 python 的 dict 存储 "字符: 出现位置" 的映射。
阅读全文
摘要:第一次用 python 写记忆化搜索,用 dict 写起来很方便,思路也很清晰。
阅读全文
摘要:如果认为判断一个 word 是否在 set 里是 o(1) 的,则 dp 方法的时间复杂度是 o(n²)。不过,集合判断操作的时间复杂度实际是 o(n) 的,所以总时间复杂度是 o(n³)。
阅读全文
摘要:这一题比上一题(1143)更简单,使用 dp 可以轻松解决。滑动窗口匹配法的空间复杂度更低,但时间复杂度略高。
阅读全文
摘要:这是一道经典的 dp 题。进一步,可以通过滚动数组,将空间复杂度从 o(mn) 优化到 o(m)。
阅读全文
摘要:3D 接雨水和 2D 接雨水的思路很像:2D 接雨水的双指针,从左右向中间包围,3D 接雨水则是从四周形成一个圈,向中间包围。
阅读全文
摘要:双指针法中,左右指针分别从最左最右向中间移动,时间复杂度 o(n),空间复杂度 o(1)。
阅读全文
摘要:根据小红书和牛客网的面经总结。
阅读全文
摘要:2022 年暑假,海投夏令营时整理的材料。
阅读全文
摘要:2022 年暑假,海投夏令营时整理的材料。
阅读全文
摘要:题意: 请参见:https://blog.csdn.net/u014530702/article/details/64196918 输入输出用例: 4 1 43 31 70 56 2 50 24 80 50 3 23 13 63 42 4 57 36 90 52 4 47 28 73 40 68 3
阅读全文
摘要:题意: 用字符串代表变量,先给出一行中缀表达式,然后按变量出现的顺序,给出变量值。 中缀表达式转后缀,要求输出后缀表达式,且输出运算结果。 输入输出用例: (ab+cd+de)/(ab+cd)# 5 5 5 1.5 代码: #include <bits/stdc++.h> using namespa
阅读全文
摘要:题意(请看第二题): 经验: getline 读入单个换行符 / 读入带空格的字符串。 printf(d, "%.2lf") cout.setf(ios::fixed); 保留 x 位小数时,补零补够 x 位。 cout<<expe.top().first<<"="<<setprecision(2)
阅读全文
摘要:题意: 连 dfs 都不用的匹配,请参见:https://www.noobdream.com/DreamJudge/Issue/page/1378/ 代码: #include <bits/stdc++.h> using namespace std; typedef long long ll; con
阅读全文

浙公网安备 33010602011771号