算法
文章平均质量分 79
学习 复习
魔法少女轩酱
这个作者很懒,什么都没留下…
展开
-
图算法-拓扑排序(参考GTA)
拓扑排序用途 拓扑排序用于解决图中是否存在环的问题 拓扑排序思想 初始化图和图中所有节点的入度 找出所有入度为0的节点加入队列 列首出队,将该节点指向的所有节点入度-1 如果-1后节点入度为0,则加入队列 重复3,遍历图中所有节点 如果图中还存在入度不为0的节点,则图中存在环。 例题 例题:LeetCode 457 环形数组是否存在循环 存在一个不含 0 的 环形 数组 nums ,每个 nums[i] 都表示位于下标 i 的角色应该向前或向后移动的下标个数: 如果 nums[i] 是正数,向前 移原创 2021-08-07 15:25:05 · 159 阅读 · 1 评论 -
并查集修炼
好久没写博客,考试周过去了力扣每日一题的日子又来了 今天的题可真是披着medium的羊皮的hard狼啊,第一次真的写并查集的算法题就是王炸 废话不多说,先上题 除法求值 给你一个变量对数组 equations 和一个实数值数组 values 作为已知条件,其中 equations[i] = [Ai, Bi] 和 values[i] 共同表示等式 Ai / Bi = values[i] 。每个 Ai 或 Bi 是一个表示单个变量的字符串。 另有一些以数组 queries 表示的问题,其中 queries[j]原创 2021-01-06 23:40:43 · 84 阅读 · 0 评论 -
回溯+剪枝(例题解析)
题目 将数组拆分成斐波那契序列 给定一个数字字符串 S,比如 S = “123456579”,我们可以将它分成斐波那契式的序列 [123, 456, 579]。 形式上,斐波那契式序列是一个非负整数列表 F,且满足: 0 <= F[i] <= 2^31 - 1,(也就是说,每个整数都符合 32 位有符号整数类型); F.length >= 3; 对于所有的0 <= i < F.length - 2,都有 F[i] + F[i+1] = F[i+2] 成立。 另外,请注意,将字原创 2020-12-08 21:23:19 · 270 阅读 · 0 评论 -
一个归并排序的例子(C++)
#include<iostream> using namespace std; void Merge(int arr[], int L, int M, int H) { int LEFT_SIZE = M - L; int RIGHT_SIZE = H - M + 1; int *left=new int[LEFT_SIZE]; int *right = new int[RIGHT_SIZE]; for (int i = 0;i < M;i++) { left[i-L] =原创 2020-12-08 19:14:15 · 121 阅读 · 0 评论 -
动态规划学习(模板使用方法)
例题 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的大小,该子集中 最多 有 m 个 0 和 n 个 1 。 如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。 示例 1: 输入:strs = [“10”, “0001”, “111001”, “1”, “0”], m = 5, n = 3 输出:4 解释:最多有 5 个 0 和 3 个 1 的最大子集是 {“10”,“0001”,“1”,“0”} ,因此答案是 4 。 其他满足题原创 2020-12-06 22:08:25 · 125 阅读 · 0 评论