重生之我要当分子
重生之我要当分子
全部文章
分类
题解(3)
归档
标签
去牛客网
登录
/
注册
重生之我要当分子的博客
全部文章
(共295篇)
题解 | 活动安排
解题思路 贪心策略选择,按照活动结束时间排序,每次选择结束时间最早的活动,这样可以为后面的活动留出更多时间空间。 具体步骤 读入所有活动的开始时间和结束时间 按照结束时间从小到大排序 选择第一个活动(结束时间最早的) 遍历剩余活动: 如果当前活动的开始时间 上一个...
2024-12-14
0
29
题解 | 排序
解题思路 三种排序算法分析 一、冒泡排序 (Bubble Sort) 1. 基本原理 - 比较相邻的两个元素,如果前者大于后者则交换 - 每一轮将最大的元素"冒泡"到末尾 - 重复n-1轮,直到所有元素有序 2. 时间复杂度 最好情况:,数组已经有序 最坏情况:,数组逆序 平...
2024-12-14
0
28
题解 | 快速乘
解题思路 算法解析 核心思想: 将乘法转换为加法 类似二进制乘法的思路 每次将 翻倍, 右移一位 关键点: // 初始取模,减小数值 a %= p; b %= p; // 使用位运算判断当前位 if(b & 1) // 翻倍使用加法 a = (a + a) % p; ...
2024-12-14
0
29
题解 | 快速幂
解题思路 暴力做法: 直接计算 并取模 单次询问时间复杂度: 空间复杂度: 这样会超时,需要使用快速幂算法进行优化。 快速幂原理: 将指数 转换为二进制 根据二进制位计算结果 每次平方并取模 代码 cpp java python #include <iostrea...
2024-12-14
0
22
题解 | 循环汉诺塔
解题思路 问题描述: 三个柱子 顺时针排列 只能顺时针移动: 初始所有盘子在 柱 求移动到 和 的最少步数 限制条件: 大盘不能放在小盘上 一次只能移动一个盘 结果需要对 取模 递推公式推导 移动到B的情况: 要将 个盘子移到 需要先将 个盘子移到 再移...
2024-12-14
0
20
题解 | 汉诺塔问题
解题思路 递归思想: 将 个盘子的移动分解为三步 先将 个盘子移到中间柱子 再将最大的盘子移到目标柱子 最后将 个盘子从中间移到目标柱子 基本情况: 当 时,直接移动这个盘子 记录移动步骤 递归过程: hanoi(n, from, mid, to): if n =...
2024-12-14
0
25
题解 | ranko的手表
解题思路 问题分析 需要处理带有'?'的时间格式 每个'?'可以是 的任意数字 需要考虑时间的合法性(小时 ,分钟 ) 计算两个时间之间的分钟差 实现步骤 找出所有 和 可能的合法时间 计算所有可能的时间差 找出最大和最小时间差 代码 c++ java pyt...
2024-12-12
0
28
题解 | kotori和素因子
解题思路 对每个数分解质因数 用 尝试每个数选择不同的质因数 记录已使用的质因数,避免重复使用 当选择完所有数时,更新最小和 代码 c++ java python #include <iostream> #include <vector> #includ...
2024-12-12
0
23
题解 | 走迷宫
解题思路 BFS求最短路径解题思路 1. 问题分析 二维网格中找最短路径 可以上下左右四个方向移动 有障碍物不能通过 需要判断是否能到达目标点 2. 解题步骤 数据结构 - 使用二维数组存储网格 - 使用队列进行BFS - 使用二维数组记录距离 - 定义四个方向的移动:dx[] = {-1,...
2024-12-12
0
28
题解 | 【模板】单源最短路1
解题思路 无向图最短路径解题思路(BFS) 1. 问题分析 无向图中找最短路径 边的权重都是 需要处理不连通的情况 使用 (广度优先搜索)最适合解决这类问题 2. 解题步骤 图的存储 使用邻接表存储图 每个节点存储其相邻节点的列表 因为是无向图,每条边需要存两次 BFS实现 使用...
2024-12-12
0
28
首页
上一页
21
22
23
24
25
26
27
28
29
30
下一页
末页