重生之我要当分子
重生之我要当分子
全部文章
分类
题解(3)
归档
标签
去牛客网
登录
/
注册
重生之我要当分子的博客
全部文章
(共295篇)
题解 | 找缺失数字
解题思路 为了找到给定数组中第一个缺失的自然数,我们可以使用以下步骤: 解析输入: 将输入的字符串按逗号分割,转换为整数数组。 查找缺失的数字: 遍历数组,检查从 0 开始的每个数字是否在数组中存在。 如果某个数字不在数组中,则返回该数字。 处理边界情况: 如果所有数字都存在,...
2024-12-31
0
21
题解 | 多数组中位数
解题思路 为了找到两个升序数组合并后的下中位数,我们可以使用双指针的方法。具体步骤如下: 合并两个数组: 使用两个指针分别指向两个数组的起始位置,逐步比较并合并两个数组。 计算中位数: 由于我们只需要下中位数,可以在合并过程中只记录前半部分的元素。 当合并的元素个数达到 (len1 +...
2024-12-31
0
10
题解 | 最大公共子串
解题思路 为了找到两个字符串的最长公共子串,我们可以使用暴力匹配的方法。具体步骤如下: 暴力匹配: 对于每一对字符位置 (i, j),从 s1 和 s2 的当前位置开始,逐个比较字符,直到不相等为止。 记录最大长度: 在每次匹配过程中,记录当前匹配的长度,并更新最大长度。 返回结...
2024-12-31
0
10
题解 | 多数组第 K 小数
解题思路 为了找到两个升序数列中第 小的值,我们可以使用合并的方法。具体步骤如下: 合并两个数组: 使用 merge 函数将两个升序数组合并成一个新的升序数组。 返回第 K 小的值: 由于数组是从 0 开始索引的,因此返回合并后数组的第 target - 1 个元素。 代码 ...
2024-12-31
0
10
题解 | 查找无重复最长子串
解题思路 这是一个经典的滑动窗口问题,需要: 滑动窗口策略: 使用两个指针( 和 )维护一个窗口 右指针不断向右扩展,直到遇到重复字符 左指针向右移动,直到删除重复字符 字符记录: 使用数组或哈希表记录每个字符最后出现的位置 当遇到重复字符时,更新左指针位置 最大长度更新: 在...
2024-12-31
0
19
题解 | Spring Outing
解题思路 这是一个投票选择问题,需要从后向前模拟投票过程: 核心思路: 每个人都有自己的偏好排序(包括留在家里的选项0) 从最后一个选项开始,逐个检查是否能获得多数支持 如果某个选项比当前结果更受欢迎,则更新结果 关键点: 使用二维 存储每个人对每个选项的偏好排名 通过比较排名来判断...
2024-12-31
0
9
题解 | 计算斐波那契数最小差值
解题思路 要找到给定数字 与斐波那契数列中数字的最小差值,需要: 生成斐波那契数列: 从0、1开始 每个数是前两个数的和 生成到不小于 的第一个数为止 计算最小差值: 遍历斐波那契数列 计算每个数与 的差的绝对值 记录最小差值 优化点: 只需要生成到比 大的第一个斐波那...
2024-12-31
0
11
题解 | Numeric Keypad
解题思路 这是一个数字构造问题,使用DFS解决: 预处理可达数字: 对于每个位置,预处理可以到达的所有数字 从大到小排序,便于找到最大可行解 DFS策略: 从高位到低位逐位构造 使用limit标记是否受到上界限制 当找到第一个可行解时立即返回 剪枝优化: 对于每个位置,只考虑不...
2024-12-31
0
20
题解 | 二进制中有多少个1
解题思路 计算32位整数二进制表示中1的个数,有几种常用方法: 位运算法: 使用 判断最低位是否为1 右移 ,继续判断 统计所有为1的位 n & (n-1) 法: 每次操作会消除最右边的1 统计操作次数即为1的个数 这种方法更高效,因为只需要处理1的个数次 查表法: ...
2024-12-31
0
25
题解 | LUCKY STRING
解题思路 要找出所有幸运子串,需要: 生成所有可能的子串 统计每个子串中不同字符的个数 判断不同字符个数是否为斐波那契数 按字典序排序并去重 关键步骤: 预处理斐波那契数列: 由于字符串长度不超过100,只需要生成较小的斐波那契数 使用set存储便于快速查找 生成子串: 使用双重循...
2024-12-31
0
11
首页
上一页
11
12
13
14
15
16
17
18
19
20
下一页
末页