重生之我要当分子
重生之我要当分子
全部文章
分类
题解(3)
归档
标签
去牛客网
登录
/
注册
重生之我要当分子的博客
全部文章
(共295篇)
题解 | 字符串最小变换次数
解题思路 状态定义: dp[i][j] 表示将字符串1的前i个字符转换成字符串2的前j个字符所需的最小操作次数 状态转移: 如果当前字符相同:dp[i][j] = dp[i-1][j-1] 如果当前字符不同,取三种操作的最小值: 插入:dp[i][j-1] + 1 删除:dp[i-1...
2024-12-31
0
13
题解 | UTF-8 编码验证
解题思路 验证 编码的有效性,需要按照以下规则检查: 字节长度规则: 1字节:首位为0 2字节:首字节以110开头,后续1个字节以10开头 3字节:首字节以1110开头,后续2个字节以10开头 4字节:首字节以11110开头,后续3个字节以10开头 检查步骤: 检查首字节确定字符长度...
2024-12-31
0
17
题解 | 阶乘末尾非零数字
解题思路 要找到 末尾的第一个非零数字,关键是理解: 末尾的0是由因子2和5相乘产生的 需要分别统计 中因子2和因子5的个数 其他因子相乘的结果对最后一个非零数有影响 具体步骤: 统计 中因子2和因子5的个数 计算去除这些因子后,其他数字相乘的最后一位 如果因子2比因子5多,需要补充乘以...
2024-12-31
0
17
题解 | 求x到y的最少计算次数
解题思路 解题思路: 使用 BFS(广度优先搜索)来找到最短路径 每个状态可以进行三种操作: 当前数 + 1 当前数 - 1 当前数 * 2 使用队列存储待处理的状态,使用集合记录已访问的状态 由于数字范围有限,可以设置合理的边界防止溢出 代码 c++ java python...
2024-12-31
0
12
题解 | 字典序
解题思路 关键思路: 字典序排列的特点: 按照字符串比较的方式排序(如:1, 10, 11, 2, 3, ...) 对于前缀相同的数字,较短的数字排在前面 解题方法: 不能实际生成所有数字( 可达 ) 通过计算每个前缀下的数字个数来定位 逐步构建目标数字 代码 c++ ja...
2024-12-31
0
14
题解 | 非递减序列
解题思路 核心思路: 遍历序列,找到所有递减的位置(即 \text{nums}[i+1]&preview=true"> 的位置) 如果递减点超过1个,则无法通过修改一个数实现非递减 对于单个递减点,尝试修改其中一个数,检查是否可以实现非递减 处理方法: 对于递减点 i,我们有...
2024-12-31
0
9
题解 | 头条校招
解题思路 基本思路: 先对题目难度进行排序。 从最小难度开始,尝试组合每场考试的三道题。 每找到一组题目后,标记这些题目为已使用。 统计需要补充的题目数量。 实现方法: 使用贪心策略,优先使用难度相近的题目组合。 使用 数组标记已使用的题目。 对于每组题目,确保相邻题目难度差不超过 ...
2024-12-30
0
19
题解 | 乘方取模
解题思路 基本思路: 使用快速幂算法计算 。 通过二进制拆分指数 来减少计算次数。 在计算过程中同时进行取模运算,避免溢出。 实现方法: 将指数 转换为二进制形式。 根据二进制位为1的位置进行累乘。 每次乘法后立即取模,保证中间结果不会溢出。 代码 cpp java...
2024-12-30
0
12
题解 | BST判定
解题思路 基本思路: 使用递归方法遍历二叉树,检查每个节点是否满足二分查找树的性质。 对于每个节点,确保其左子树的所有节点值小于该节点值,右子树的所有节点值大于该节点值。 实现方法: 解析输入构建二叉树。 使用辅助函数进行递归检查,传递当前节点的值范围。 代码 cpp ...
2024-12-30
0
18
题解 | 带权的DAG节点排序
解题思路 基本思路: 使用拓扑排序算法对DAG进行排序,同时考虑节点的权重。 在拓扑排序过程中,优先选择权重大的节点进行排序。 实现方法: 使用Kahn算法进行拓扑排序。 使用优先队列(最大堆)来确保每次选择权重最大的节点。 代码 cpp java python ...
2024-12-30
0
23
首页
上一页
12
13
14
15
16
17
18
19
20
21
下一页
末页