随笔分类 -  算法

摘要:原题链接:https://www.acwing.com/problem/content/description/873/ 给定 n 个正整数 ai,请你输出这些数的乘积的约数之和,答案对 109+7 取模。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含一个整数 ai。 输出格式 输出一个 阅读全文
posted @ 2022-09-13 23:54 krystalZ2021 阅读(36) 评论(0) 推荐(0) 编辑
摘要:原题链接:https://leetcode.cn/problems/maximum-sum-bst-in-binary-tree/ 给你一棵以 root 为根的 二叉树 ,请你返回 任意 二叉搜索子树的最大键值和。 二叉搜索树的定义如下: 任意节点的左子树中的键值都 小于 此节点的键值。 任意节点的 阅读全文
posted @ 2022-09-12 21:51 krystalZ2021 阅读(66) 评论(0) 推荐(0) 编辑
摘要:原题链接:https://leetcode.cn/problems/find-a-corresponding-node-of-a-binary-tree-in-a-clone-of-that-tree/ 给你两棵二叉树,原始树 original 和克隆树 cloned,以及一个位于原始树 origi 阅读全文
posted @ 2022-09-12 19:06 krystalZ2021 阅读(28) 评论(0) 推荐(0) 编辑
摘要:public class KMPTest { public static void main(String[] args) { String s = "abababb"; String t = "abb"; int m = s.length(), n = t.length(); s = " " + 阅读全文
posted @ 2022-08-28 11:36 krystalZ2021 阅读(24) 评论(0) 推荐(0) 编辑
摘要:题目:给两个字符串,请你在S中找到包含T中全部字母的最短字串。 #include <iostream> #include <cstring> #include <algorithm> #include <unordered_map> using namespace std; string min_w 阅读全文
posted @ 2022-07-19 17:26 krystalZ2021 阅读(24) 评论(0) 推荐(0) 编辑
摘要:算法思路:使用深度优先遍历遍历整张图,如果发现某个顶点已经染过色,并且和相邻顶点的颜色相同,则返回false,否则一直染下去,直到遍历完整张图。 代码实现: #include <iostream> #include <cstring> #include <algorithm> using names 阅读全文
posted @ 2022-07-13 12:17 krystalZ2021 阅读(22) 评论(0) 推荐(0) 编辑
摘要:kruskal算法求最小生成树: (1)将所有边按照权重进行排序; (2)依次选取每条边,判断该边两端顶点是否联通,若不联通,则将该边加入集合中。 (3)如果最后加入了n-1条边,则说明存在最小生成树,否则没有。 #include <iostream> #include <cstring> #inc 阅读全文
posted @ 2022-07-13 11:19 krystalZ2021 阅读(44) 评论(0) 推荐(0) 编辑
摘要:算法流程: (1)初始化所有点到已加入点集合的距离为INF。 (2)做n次遍历,每次从未加入集合的点中找到离集合距离最小的点,将该点加入到生成树中。 (3)在每次循环中一旦找到距离最小的点后,使用该点来更新集合外的点到集合的距离。 使用的数据结构:领接矩阵(稠密图) 代码如下: #include < 阅读全文
posted @ 2022-07-12 11:34 krystalZ2021 阅读(64) 评论(0) 推荐(0) 编辑
摘要:算法思想:每次从集合中找到一个未访问过的最短路径的点,然后根据改点来更新其他点的距离。 (1)朴素算法 适用场景:稠密图,边较多,适用邻接矩阵存储。 #include <iostream> #include <cstring> #include <algorithm> using namespace 阅读全文
posted @ 2022-06-30 16:19 krystalZ2021 编辑

点击右上角即可分享
微信分享提示