上一页 1 2 3 4 5 6 7 8 ··· 10 下一页
摘要: 带权并查集是普通并查集的进阶版本,功能更加强大。 普通并查集只能判断两个元素是否在一个集合中,带权并查集可以维护集合元素之间的关系,这个关系由每个元素的权值维护。 对权值的维护,我们需要在find(),unite()操作中分别进行修改。 例:399. 除法求值 class UnionFind { p 阅读全文
posted @ 2020-11-12 10:55 macguz 阅读(746) 评论(0) 推荐(0)
摘要: 记录踩坑: ​ 做LeetCode每日一题1356. 根据数字二进制下 1 的数目排序时,遇到的坑。题目很简单,利用lowbit操作计算一个数二进制1的个数,接着自定义比较函数进行排序即可,但是C++在类中自定义比较函数不能简单地定义为成员函数,需要定义为静态成员函数。 ​ 具体看:Referenc 阅读全文
posted @ 2020-11-06 10:33 macguz 阅读(3156) 评论(0) 推荐(0)
摘要: 并查集是一个非常优雅简洁的,相对高级的数据结构,常常用于元素分组问题。 对于并查集的介绍和推导这里不细说,推荐看Pecco的算法学习笔记。这里主要记录我使用并查集刷题的模板和技巧。 一、什么时候使用并查集? 个人认为并查集可以用在图中,可以用来求取图中的连通分量。当然题目不一定会直接给出图的数据结构 阅读全文
posted @ 2020-11-05 17:26 macguz 阅读(183) 评论(0) 推荐(0)
摘要: c++踩坑: ​ 例如string、vector等类型的size函数返回的是一个无符号整型数,如果在表达式中混和使用了带符号数和无符号数,将产生意想不到的结果。 ​ 带符号数将自动转换为无符号数,例如-1,由于-1的二进制表示的最高位为1,这回导致size() > -1一定会返回false。在进行判 阅读全文
posted @ 2020-11-03 10:06 macguz 阅读(751) 评论(0) 推荐(0)
摘要: 一、什么时候使用二分?: ​ 大部分人接触二分应该二分查找算法,二分查找可以在一个有序区间中,找到指定的元素x的下标。 这里有两点:1、区间是有序的,即区间要满足一定条件。2、我们要找的数也有一定条件,二分查找要求找的数一定要等于x。 ​ 我们再看两题: AcWing.789.数的范围: 题目给出的 阅读全文
posted @ 2020-10-25 17:32 macguz 阅读(344) 评论(1) 推荐(1)
摘要: 116. 填充每个节点的下一个右侧节点指针 给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指 阅读全文
posted @ 2020-10-15 16:04 macguz 阅读(117) 评论(0) 推荐(0)
摘要: 一、Manjaro的安装: 一)、系统盘准备: ​ 首先准备一个最好为32G的U盘,下载Manjaro镜像文件和Rufus,用Rufus将镜像文件写入U盘中,这一步操作非常简单,跟着Rufus的提示即可。 我的安装选择的是KDE界面: Rufus的使用也很简单,设备选择U盘,镜像文件选择刚下载的Ma 阅读全文
posted @ 2020-09-14 21:25 macguz 阅读(844) 评论(0) 推荐(0)
摘要: 一、异步:现在与未来: ​ 如何表达和控制持续一段时间的程序行为,是使用类似JS这样的语言编程时,很重要但常常被误解的一点。 ​ 持续一段时间,不是指类似于 for循环开始到结束的过程。而是指 程序的一部分现在运行,而另一部分则在未来运行。现在与将来之间有一段间隙,这段间隙在实际程序中,可以是等待用 阅读全文
posted @ 2020-07-15 16:19 macguz 阅读(212) 评论(0) 推荐(0)
摘要: 120. 三角形最小路径和 给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。 相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。 示例: 例如,给定三角形: [ [2], [3,4], [6,5,7], [4,1,8 阅读全文
posted @ 2020-07-14 18:51 macguz 阅读(130) 评论(0) 推荐(0)
摘要: 309. 最佳买卖股票时机含冷冻期 给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。 设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 卖出股票后,你无法在第二天买入 阅读全文
posted @ 2020-07-10 11:40 macguz 阅读(130) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 ··· 10 下一页