随笔分类 -  算法

摘要:题目描述 力扣决定给一个刷题团队发 LeetCoin 作为奖励。同时,为了监控给大家发了多少 LeetCoin,力扣有时候也会进行查询。 该刷题团队的管理模式可以用一棵树表示: 团队只有一个负责人,编号为 1。除了该负责人外,每个人有且仅有一个领导(负责人没有领导); 不存在循环管理的情况,如 A 阅读全文
posted @ 2022-02-20 18:56 pxlsdz 阅读(3601) 评论(0) 推荐(0)
摘要:区间贪心四种基础模型附加证明 尽可能少的点覆盖区间 题意 给定 N 个闭区间 \([a_i,b_i]\),在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。 输出选择的点的最小数量。位于区间端点上的点也算作区间内。 思想 将每个区间按照右端点从小到大进行排序 从前往后依次枚举区间,ed值初 阅读全文
posted @ 2022-02-13 14:01 pxlsdz 阅读(136) 评论(0) 推荐(0)
摘要:LeetCode 221. 最大正方形 (巧妙DP,公式证明推导DP) 题目描述 在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。 动态规划$O\left(n^{2}\right)$ f[i, j]表示:所有以(i,j)为右下角的且只包含1 的正方形的边长最大值。 阅读全文
posted @ 2022-01-20 18:42 pxlsdz 阅读(3724) 评论(0) 推荐(0)
摘要:Leetcode53. 最大子数组和 求最大值 题目描述 给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 样例 输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组 [4,-1,2,1] 的和最大,为 6 阅读全文
posted @ 2022-01-16 20:13 pxlsdz 阅读(1373) 评论(0) 推荐(0)
摘要:卡特兰数 定义 卡特兰数又称卡塔兰数,卡特兰数是组合数学中一个常出现在各种计数问题中的数列,关于卡特兰数的题目大多都有一个差不多的套路:对于一个规模为n的问题,先找一个元素固定下来,然后将剩下的n-1个元素拆分成两个子问题 若一个数列$f_n$满足: \[ f(n) = f(0)*f(n-1) + 阅读全文
posted @ 2022-01-10 11:50 pxlsdz 阅读(3959) 评论(0) 推荐(0)
摘要:LeetCode 2122. 还原原数组 题目描述 Alice 有一个下标从 0 开始的数组 arr,由 n 个正整数组成。她会选择一个任意的 正整数 k 并按下述方式创建两个下标从 0 开始的新整数数组 lower 和 higher: 对每个满足 0 <= i < n 的下标 i,lower[i] 阅读全文
posted @ 2022-01-02 22:59 pxlsdz 阅读(88) 评论(0) 推荐(0)
摘要:AcWing 902. 最短编辑距离 给定两个字符串A和B,现在要将A经过若干操作变为B,可进行的操作有: 删除–将字符串A中的某个字符删除。 插入–在字符串A的某个位置插入某个字符。 替换–将字符串A中的某个字符替换为另一个字符。 现在请你求出,将A变为B至少需要进行多少次操作。 输入格式 第一行 阅读全文
posted @ 2021-12-31 12:26 pxlsdz 阅读(213) 评论(0) 推荐(0)
摘要:LeetCode 2116. 判断一个括号字符串是否有效 题目描述 一个括号字符串是只由 '(' 和 ')' 组成的 非空 字符串。如果一个字符串满足下面 任意 一个条件,那么它就是有效的: 字符串为 ()。 它可以表示为 AB(A 与 B 连接),其中 A 和 B 都是有效括号字符串。 它可以表示 阅读全文
posted @ 2021-12-30 17:55 pxlsdz 阅读(215) 评论(0) 推荐(0)
摘要:LeetCode 2117. 一个区间内所有数乘积的缩写 题目描述 给你两个正整数 left 和 right,满足 left <= right。请你计算 闭区间 [left, right] 中所有整数的 乘积。 由于乘积可能非常大,你需要将它按照以下步骤 缩写: 统计乘积中 后缀 0 的数目,将这个 阅读全文
posted @ 2021-12-29 23:04 pxlsdz 阅读(186) 评论(0) 推荐(0)
摘要:背包问题 N 件物品放入容量为 V 的背包,求最大的价值。 常见的背包问题分为:01背包问题,完全背包问题。 其中核心的问题还是 01背包问题,其余的背包问题都是基于01背包的变形。 AcWing 2. 01背包问题 有 N件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 i 件物品的体积 阅读全文
posted @ 2021-12-25 19:39 pxlsdz 阅读(85) 评论(0) 推荐(0)
摘要:leetcode 630. 课程表 III 题目描述 这里有 n 门不同的在线课程,他们按从 1 到 n 编号。每一门课程有一定的持续上课时间(课程时间)t 以及关闭时间第 d 天。一门课要持续学习 t 天直到第 d 天时要完成,你将会从第 1 天开始。 给出 n 个在线课程用 (t, d) 对表示 阅读全文
posted @ 2021-12-14 09:11 pxlsdz 阅读(115) 评论(0) 推荐(0)
摘要:AcWing 4195. 线段覆盖(离散化+差分) 原题链接 题目描述 在一个坐标轴上有 \(n\) 条线段。 每条线段的每个端点的坐标都为整数。 可能存在退化成点的线段。 线段之间可以相互交叉、嵌套甚至重合。 请你计算,对于每个 \(k \in\{1,2, \ldots, n\}\) ,坐标轴中共 阅读全文
posted @ 2021-12-12 14:23 pxlsdz 阅读(385) 评论(0) 推荐(0)
摘要:LeetCode 2097. 合法重新排列数对 题目描述 给你一个下标从 0 开始的二维整数数组 pairs,其中 pairs[i] = [start_i, end_i]。如果 pairs 的一个重新排列,满足对每一个下标 i(1 <= i < pairs.length)都有 end_{i-1} = 阅读全文
posted @ 2021-12-09 20:17 pxlsdz 阅读(230) 评论(0) 推荐(0)
摘要:AcWing 46. 二叉搜索树的后序遍历序列 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。 如果是则返回true,否则返回false。 假设输入的数组的任意两个数字都互不相同。 样例 输入:[4, 8, 6, 12, 16, 14, 10] 输出:true 题解: 中序(二叉搜 阅读全文
posted @ 2021-12-05 21:52 pxlsdz 阅读(264) 评论(0) 推荐(0)
摘要:题意 给定一个 \(n \times m\) 的方格矩阵,每个方格内都有一个整数元素。 其中第 \(i\) 行第 \(j\) 列的方格中的元素为 \(i \times j\) (行和列都从 1 开始编 믁) 现在,需要你将这 \(n \times m\) 个整数按照非严格单调递增的顺序一一写 出。 阅读全文
posted @ 2021-12-01 22:55 pxlsdz 阅读(276) 评论(0) 推荐(0)
摘要:AcWing 4081. 选数(二维费用背包问题) 题意 有n个数,现在需要选出k个。让这k个数相乘后末尾零的个数最多 算法 动态规划 尾零的数量等价于选出的 \(k\) 个数的质因子分解中的 2 的幂次与 5 的幂次。 状态定义: \(f[i][j][k]\) 表示在前 \(i\) 个数中选 \( 阅读全文
posted @ 2021-12-01 17:54 pxlsdz 阅读(52) 评论(0) 推荐(0)
摘要:AcWing 35. 反转链表 定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。 思考题: 请同时实现迭代版本和递归版本。 样例 输入:1->2->3->4->5->NULL 输出:5->4->3->2->1->NULL 递推 # Definition for singly- 阅读全文
posted @ 2021-11-29 14:54 pxlsdz 阅读(29) 评论(0) 推荐(0)
摘要:Leetcode 458. 可怜的小猪 链接:https://leetcode-cn.com/problems/poor-pigs 题意 有 buckets 桶液体,其中 正好 有一桶含有毒药,其余装的都是水。它们从外观看起来都一样。为了弄清楚哪只水桶含有毒药,你可以喂一些猪喝,通过观察猪是否会死进 阅读全文
posted @ 2021-11-26 22:23 pxlsdz 阅读(341) 评论(0) 推荐(0)
摘要:AcWing 24. 机器人的运动范围 地上有一个 m 行和 n 列的方格,横纵坐标范围分别是 0∼m−1 和 0∼n−1。 一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格。 但是不能进入行坐标和列坐标的数位之和大于 k 的格子。 请问该机器人能够达到多少个格子? 阅读全文
posted @ 2021-11-25 19:34 pxlsdz 阅读(289) 评论(0) 推荐(0)
摘要:AcWing 13. 找出数组中重复的数字 给定一个长度为 n 的整数数组 nums,数组中所有的数字都在 0∼n−1 的范围内。 数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。 请找出数组中任意一个重复的数字。 注意:如果某些数字不在 0∼n−1 的范围内,或数组中 阅读全文
posted @ 2021-11-21 21:25 pxlsdz 阅读(297) 评论(0) 推荐(0)