重生之我要当分子
重生之我要当分子
全部文章
分类
题解(3)
归档
标签
去牛客网
登录
/
注册
重生之我要当分子的博客
全部文章
(共277篇)
题解 | 数组单调和
解题思路 这是一个数组处理问题,需要计算每个元素左边小于等于它的数字之和。 关键点: 对于每个元素,需要找到其左边所有小于等于它的数 可以使用树状数组优化查询和更新操作 需要离散化数组元素以优化空间使用 算法步骤: 对数组进行离散化处理 使用树状数组维护前缀和 对每个元素,查询小于等于它的数的...
2025-01-01
0
9
题解 | 寻找子串
解题思路 这是一个字符串匹配和动态规划问题。使用 算法找到所有模式串的匹配位置,然后用动态规划求解最大不相交子串数量。 关键点: 使用 算法高效查找所有匹配位置 用动态规划数组 表示到位置 的最大不相交子串数量 对每个位置,考虑是否选择以该位置结尾的匹配 算法步骤: 对每个模式串进行 ...
2025-01-01
0
7
题解 | 串的模式匹配
解题思路 这是一个字符串匹配问题,需要在字符串 中找到字符串 第一次出现的位置。可以使用 算法来高效解决。 关键点: 构建 算法的 数组 利用 数组进行快速匹配 处理边界情况 算法步骤: 计算模式串 的 数组 在主串 中进行匹配 找到匹配位置或返回-1 代码 cpp ...
2025-01-01
0
13
题解 |有序图
解题思路 这是一个图论问题,通过反向建图和拓扑排序来找到字典序最小的全排列。 关键点: 反向建图:将所有边反向,便于从大到小分配数字 使用最大堆维护可选节点 从n到1逆序分配数字,保证字典序最小 算法步骤: 建立反向图的邻接表 找出所有入度为 的点加入最大堆 每次取出堆顶元素,分配最大可用数...
2025-01-01
0
10
题解 | 无序数组中最小的k个数
解题思路 这是一个数组处理问题,需要找出数组中最小的 个数,并保持原数组中的相对顺序。 关键点: 不能直接排序,因为需要保持原数组顺序 可以使用临时数组存储原数组的副本并排序 找出第 小的数作为阈值 遍历原数组,保留小于等于阈值的前 个数 算法步骤: 复制原数组并排序,找到第 小的数 ...
2025-01-01
0
23
题解 | 配比
解题思路 这是一个配比问题,需要根据各种原料的配比和容量限制,计算最大可制作的饮料量。 关键点: 对于每种原料 ,实际使用量应该是:配比 * ( 是一个系数) 所有原料的使用量不能超过各自拥有的量 所有原料的总体积不能超过容器容积 需要找到最大的 值 算法步骤: 对于每种原料,计算 (...
2025-01-01
0
10
题解 | 添加回文串
解题思路 这是一个字符串处理问题,需要在字符串末尾添加最少的字符使其成为回文串。 关键点: 从左到右遍历字符串的每个位置 判断从位置 到末尾的子串是否为回文串 如果找到回文子串,则将位置 之前的子串反转后作为结果 算法步骤: 遍历字符串的每个位置 (从 到 ) 获取从位置 到末尾的子...
2025-01-01
0
13
题解 | 神奇数
解题思路 这是一个数字分组问题,使用动态规划来解决。 关键点: 提取数字的非零位并计算总和 如果总和为奇数,直接返回false 使用01背包思想,判断是否能找到一组数字和为总和的一半 算法步骤: 提取数字的各个非零位到数组中 计算所有位数字的和,判断是否为偶数 使用动态规划判断是否存在一组数字...
2025-01-01
0
12
题解 | 括号匹配方案
解题思路 这是一个括号匹配和移除操作的计数问题。对于每个左括号,我们需要找到其对应的所有可能的右括号。 关键点: 每次移除操作包含两步: 移除第一个左括号(固定的) 移除一个合法的右括号(有多种选择) 合法性判断: 移除括号后,剩余的序列必须是合法的括号序列 需要保持左右括号的平衡 ...
2025-01-01
0
23
题解 | 左右最值最大差
解题思路 这是一个数组划分问题,需要找到一个位置K,使得左右两部分的最大值之差的绝对值最大。 算法步骤: 找到数组的最大值: 记录最大值和它的位置。 遍历所有可能的划分点: 对于每个划分点 (从 到 ): 计算左部分 的最大值 计算右部分 的最大值 计算两部分最大值的差的绝对值 ...
2025-01-01
0
12
首页
上一页
5
6
7
8
9
10
11
12
13
14
下一页
末页