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