自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 染色法二分图

【代码】染色法二分图。

2024-05-24 11:25:39 167

原创 多源BFS

【代码】多源BFS。

2024-05-23 15:57:45 105

原创 LeetCode481 神奇字符串

【代码】LeetCode481 神奇字符串。

2024-03-06 23:15:37 318

原创 水壶问题(贝祖定理)

贝组定理:ax+by=z 有解当且仅当 z 是 x,y 的最大公约数的倍数。

2024-01-28 20:11:17 338

原创 最长公共子序列(LCS)

时间复杂度:O(nm)空间复杂度:O(nm)

2024-01-20 21:02:21 357

原创 Dijkstra算法

时间复杂度:O(m logn+n),n为点数,m为边数。空间复杂度:O(m)

2024-01-08 12:04:36 342

原创 图论:最小生成树

时间复杂度:O(n^2 log(n)),n是点数。空间复杂度:O(n^2)Kruskal 算法。

2024-01-05 20:55:52 542

原创 二叉树层序遍历

时间复杂度:O(n)空间复杂度:O(n)时间复杂度:O(n)空间复杂度:O(1)

2024-01-05 20:45:09 377

原创 图论:拓扑排序

时间复杂度:O(n+m),其中 n 为课程数,m为先修课程的要求数。空间复杂度:O(n+m)

2024-01-05 19:12:50 311

原创 二叉树路径总和问题

【代码】二叉树路径总和问题。

2023-12-28 20:48:52 329 1

原创 最长递增子序列

只需要找出 nums[0..i]中以nums[i] 结束的最长严格递增子序列,以及 nums[i..n−1]中以 nums[i]开始的最长严格递减子序列即可。如果 nums[i]>d的末尾元素 ,则直接加入到 d 数组末尾,并更新 len=len+1;否则,找到第一个比 nums[i]小的数 d[k],并更新 d[k+1]=nums[i]。用d[i]表示长度为i的最长上升序列的末尾元素的最小值,d[i]是单调递增的。时间复杂度:O(n^2)

2023-12-26 19:51:12 464 1

原创 Floyd算法

【代码】Floyd算法。

2023-12-26 19:12:22 494 1

原创 LeetCode30 串联所有单词的子串

思路:枚举开始划分字符串s的位置[0,n-1],将s划分为单词组,每个单词的长度为word[0].size(),用滑动动窗口求解,方法与LeetCode438.找到字符串中所有字母异位词相同。时间复杂度:O(lens×n),其中lens是输入 s 的长度,n 是 words中每个单词的长度。需要做 n 次滑动窗口,每次需要遍历一次 s。空间复杂度:O(m×n),其中 m 是 words的单词数,n 是 words中每个单词的长度。每次滑动窗口时,需要用一个哈希表保存单词频次。

2023-12-21 21:23:41 315

原创 LeetCode2866 美丽塔2

思路:利用单调栈可以保证栈中数据的单调性,利用单调栈将连续子数组变为非递减或非递减。

2023-12-21 12:02:10 382

原创 LeetCode871 最低加油次数

我们尝试从优先队列(大根堆)中取出过往油量最大的加油站并进行加油(同时对加油次数。中,含义为使用完剩余的油量,可以去到的最远距离,同时将所在位置。的加油站数量加入优先队列(大根堆,根据油量从小到大排序)中。,代表还没到达(经过)目标位置,继续模拟行进过程。(下次循环),此时由于清空了剩余油量。重复上述过程,直到满足。

2023-12-17 21:02:12 341 1

原创 LeetCode312 戳气球

【代码】LeetCode312 戳气球。

2023-12-17 20:50:37 19 1

原创 LeetCode215 数组中的第K个最大元素

只需要根据划分两边后,第 k大数会落在哪一边,来决定对哪边进行递归处理即可。第k大的数也就是升序数组中下标为n-k的元素。

2023-12-14 17:14:17 14 1

原创 LeetCode 1606 找到处理最多请求的服务器

思路:根据每个任务有对应的开始时间和持续时间,用优先队列busy维护二元组(结束时间,服务器编号),按结束时间从早到晚排列。根据任务分配规则,用红黑树free维护空闲服务器编号,根据编号从小到大排列。

2023-12-14 12:02:05 23 1

原创 LeetCode149 直线上最多的点数

【代码】LeetCode149 直线上最多的点数。

2023-12-12 11:16:33 16

原创 图的BFS&DFS

【代码】图的BFS&DFS。

2023-12-09 17:21:38 338

原创 LeetCode1268 搜索推荐系统

【代码】LeetCode1268 搜索推荐系统。

2023-12-09 10:17:04 38

原创 LeetCode42 接雨水

【代码】LeetCode42 接雨水。

2023-12-08 21:50:54 347

原创 Trie(字典树)

Trie 树(又叫前缀树或字典树)是一种用于快速查询某个字符串或字符前缀是否存在的数据结构。其核心是使用「边」来代表有无字符,使用「点」来记录是否为「单词结尾」以及「其后续字符串的字符是什么」。

2023-12-08 19:47:16 81

原创 LeetCode32、最长有效括号

从左到右遍历字符串,对于遇到的每个 '(',增加 left ,对于遇到的每个 ')',增加right。这样的做法贪心地考虑了以当前字符下标结尾的有效括号长度,每次当右括号数量多于左括号数量的时候之前的字符我们都扔掉不再考虑,重新从下一个字符开始计算,但这样会漏掉一种情况,就是遍历的时候左括号的数量始终大于右括号的数量,即 (() ,这种时候最长有效括号是求不出来的。如果栈为空,说明当前的右括号为没有被匹配的右括号,将其下标放入栈中来更新「最后一个没有被匹配的右括号的下标」

2023-12-02 22:18:34 16

原创 CSP-202104

【代码】CSP-202104。

2023-12-01 22:28:45 18 1

原创 二叉树专题(一)

给定一个二叉树root,返回其最大深度。二叉树的是指从根节点到最远叶子节点的最长路径上的节点数。

2023-11-29 21:26:18 21 1

原创 字符串滑动窗口问题

计算以s[right]结尾的字符串的无重复字符的最长子串长度,若大于result,则更新result。维持一个长度为p.size()的滑动窗口,用hs记录窗口中每一个字母出现的次数。的子串,返回这些子串的起始索引。不考虑答案输出的顺序。指由相同字母重排列形成的字符串(包括相同的字符串)。所有字符的子串,则返回空字符串。,请你找出其中不含有重复字符的。直到窗口中的字符串不再符合要求,所有字符的最小子串。

2023-11-26 21:20:15 19

原创 0-1背包问题

KY66 点菜问题。

2023-11-26 20:03:19 12

原创 cs144:lab0(3)

【代码】cs144:lab0(3)

2023-11-23 19:45:02 30

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除