- 博客(37)
- 收藏
- 关注
原创 50优化青海湖至景点x的租车路线成本-java版本-青训营刷题
这段代码通过动态规划解决了在给定加油站和油价的情况下,从起点到终点的最小加油成本问题。它考虑了油箱容量限制和加油站的位置,通过逐步更新动态规划数组来找到最优解。
2025-02-23 16:09:55
641
原创 46大数和中的极值位距离
这段代码通过以下步骤实现了目标:使用BigInteger处理大数相加。找出结果字符串中的最小和最大字符。计算最小和最大字符之间的最小位置差。返回结果时减去 1,满足题目要求。这种方法的优点是简单易懂,但效率可能不是最优的,因为它需要两次遍历字符串(一次找最小和最大字符,一次计算最小距离)。
2025-02-22 15:23:52
642
原创 45最少步数归零问题-Java版-青训营刷题
这段代码的核心功能是统计一个整数数组中所有数字的非零数字的总数。它通过将每个数字转换为字符串,然后逐位检查是否为非零字符来实现这一目标。代码逻辑清晰,适合处理包含多位数字的数组。
2025-02-18 11:05:57
502
原创 43还原原始字符串-Java版-青训营刷题
这段代码的目标是找到一个字符串的最短“生成子串”,使得通过某种方式重复和拼接这个子串可以生成原始字符串。如果无法找到这样的子串,则返回。对于长字符串,代码尝试找到一个最短的子串,使得通过某种方式重复和拼接可以生成原始字符串。方法的实现中,尝试通过扩展子串来匹配目标字符串,但这种方式可能无法覆盖所有情况。尝试找到一个最短的子串,使得通过某种方式重复和拼接这个子串可以生成原始字符串。它通过尝试在子串的末尾添加子串的某个部分,并递归检查是否能生成目标字符串。遍历子串的每个字符,尝试在子串末尾添加子串的某个部分(
2025-02-14 13:55:28
638
原创 42ByteDance Tree问题-Java版-青训营刷题
这段代码解决的是一个关于树的组合问题。给定一个树状结构的节点,每个节点可能挂有某种类型的礼物。目标是计算满足以下条件的方案数:每种类型的礼物只能出现在一个节点上。从任意一个挂有礼物的节点出发,向上走,直到遇到另一个挂有礼物的节点,路径上的节点数量(不包括起点和终点)。最终结果需要对一个大素数()取模。输入解析:提取礼物分布和树的结构。合法性检查:确保礼物数量和类型符合要求。树的构建:使用邻接表存储树的结构。BFS 遍历:确定每个节点的父节点。方案计算:通过路径长度计算最终结果。
2025-02-13 14:08:57
633
原创 41最小替换字串长度Java版-青训营刷题
这段代码的核心逻辑是通过滑动窗口的方法来寻找满足条件的最短子串。统计字符频率:首先统计整个字符串中每个字符的出现次数。滑动窗口:通过滑动窗口的方式,逐步检查每个可能的子串,判断该子串是否满足条件。更新最短长度:如果找到满足条件的子串,则更新最短长度。这段代码通过滑动窗口的方法,逐步检查每个可能的子串,判断是否满足条件。如果找到满足条件的子串,则更新最短长度。最终返回最短满足条件的子串长度。这种方法利用了滑动窗口的高效性,避免了暴力枚举所有子串的复杂度。
2025-02-12 11:25:49
698
原创 40环状DNA序列的最小表示法Java版-青训营刷题
这段代码的目的是找到一个 DNA 序列的最小循环子串。具体来说,对于一个给定的 DNA 序列,我们希望找到一个最小的子串,使得这个子串可以通过循环移位得到原始序列。例如,对于 DNA 序列"ATCA",其最小循环子串是"AATC",因为"AATC"是通过将"ATCA"循环左移一位得到的。这段代码通过加倍 DNA 序列,然后逐个提取子串进行比较,最终找到最小的循环子串。这种方法利用了字符串加倍的技巧,避免了复杂的循环移位操作,使得代码更加简洁高效。
2025-02-11 15:58:17
856
原创 37构造回文字符串问题-青训营刷题
这段代码通过构建初始回文字符串,并从中间向前调整字符,尝试找到一个字典序小于输入字符串的最长回文字符串。如果找不到,则返回。
2025-02-07 17:59:09
780
原创 36饭馆菜品选择问题-青训营刷题
这段代码通过分类、排序和组合选择的方式,解决了从一组菜品中选择k道菜的最小总价格问题,同时满足含有蘑菇的菜品数量不超过m的约束条件。
2025-02-06 18:09:15
921
原创 33卡牌翻面求和问题-青训营刷题
这段代码通过动态规划的方式,高效地计算了选择某些数字使得它们的和能被3整除的方案数。动态规划避免了递归的重复计算,时间复杂度为O(n),空间复杂度为O(n)。
2025-02-04 09:49:00
451
原创 31不同整数的技术问题-青训营刷题
这段代码的核心思想是:遍历字符串,逐字符判断是否为数字。遇到数字时,将其拼接到临时变量中。遇到非数字时,处理临时变量中的数字(去除前导零并添加到集合中)。最后返回集合中不同数字的数量。通过这种方式,代码能够高效地提取并统计字符串中的不同数字。
2025-02-02 14:48:56
914
原创 30组成字符串ku的最大次数-青训营刷题
这段代码的核心逻辑是:遍历字符串,统计'k'和'u'的数量(忽略大小写)。返回这两个数量中的较小值。这种逻辑可以用于一些简单的字符统计问题,例如检查某种模式的匹配程度(比如'ku'的组合数量)。
2025-01-30 10:55:09
296
原创 28我好想逃却逃不掉-青训营刷题
工程师们早就在地上装了传送机关,虽不会伤人,却会将站在上面的人传到它指向的位置。这段代码是一个基于广度优先搜索(BFS)的算法,用于计算在一个二维网格中,从出口位置出发无法到达的“危险区域”的数量。对手出现了,我架紧盾牌想要防御,只觉得巨大的冲击力有如一面城墙冲涌而来,击碎了我的盾牌,我两眼发昏,沉重的身躯轰然倒地。解释:存在 10 个位置,如果站在这些位置上,将永远无法到达右下角的出口(用 X 标记):。在一个 N × M 的竞技场迷宫中,你的任务是找出在迷宫中,所有"危险位置"的数量。
2025-01-29 21:10:28
592
原创 27游戏英雄升级潜力评估-青训营刷题
这段代码通过排序和遍历数组,找到第一个与第一个元素不同的位置,并计算从该位置到数组末尾的元素个数。如果数组中所有元素都相同,则返回0。
2025-01-28 17:34:12
1002
原创 24小R的随机播放顺序
他首先播放歌单中的第一首歌,播放后将其从歌单中移除。如果歌单中还有歌曲,则会将当前第一首歌移到最后一首。这个过程会一直重复,直到歌单中没有任何歌曲。方法用于比较两个数组的内容是否一致,非常适用于测试数组类型的返回值。如果队列中还有歌曲,将当前队列的第一首歌移到队列的末尾(再次使用。方法的实现是正确的,并且能够正确地模拟歌单的播放顺序。通过上述实现,你可以正确地模拟歌单的播放顺序。是一个双向链表,可以高效地实现队列操作。方法比较返回的结果与预期结果是否一致。方法从队列中移除并返回第一个元素。
2025-01-27 10:37:43
173
原创 23石子移动问题-青训营刷题
在每个回合,小S可以将一颗端点石子移动到一个未占用的位置,使其不再是端点石子。这段代码实现了一个关于石子移动的问题,目标是计算将一组石子移动到连续位置所需的最小和最大移动次数。小S正在玩一个关于石子的游戏,给定了一些石子,它们位于一维数轴的不同位置,位置用数组。通过这些改进,代码应该能够正确计算将石子移动到连续位置所需的最小移动次数。是为了考虑中间的石子数量,假设每个石子都需要移动到一个连续的位置。如果石子数组的长度为1,直接返回0,因为不需要移动。:计算从第二个石子到最后一个石子之间的最大跨度。
2025-01-26 17:44:38
455
原创 22最少字符操作次数
她可以执行如下操作:每次选择字符串中两个相同的字符删除,然后在字符串末尾添加一个任意的小写字母。小U想知道,最少需要多少次操作才能使得字符串中的所有字母都不相同?函数的实现是正确的,能够正确计算出字符串中可以配对的字符对数。遍历数组,计算每个字符出现次数的一半(整数除法),累加到结果。创建了一个大小为400的数组,用于统计字符出现的次数。将字符的ASCII值作为索引,统计每个字符出现的次数。小U得到一个只包含小写字母的字符串。输出布尔值,验证函数的正确性。在Java中,数组的默认值是。获取字符串中的字符。
2025-01-25 19:21:04
246
原创 19字典序最小的01字符串-青训营刷题
小U拥有一个由0和1组成的字符串,她可以进行最多k次操作,每次操作可以交换相邻的两个字符。这段代码实现了一个字符串操作的逻辑,目标是将字符串中的某些字符移动到前面,以满足特定的条件。和字符串拼接操作),这在 Java 中效率较低,尤其是对于较长的字符串。现在,小U想知道,经过最多k次操作后,能够得到的字典序最小的字符串是什么。总结来说,这段代码通过模拟字符移动的过程,实现了将字符串中的。向前移动的功能,同时考虑了移动步数的限制和边界条件。决定,同时保证移动后的字符串满足特定的规则。
2025-01-23 09:40:17
982
原创 Go语言开发项目文件规范
存放控制器结构体:从 HTTP 请求中解析数据(如路径参数、查询参数、请求体等)。:与服务层(Service Layer)或模型层(Model Layer)交互,处理业务逻辑。:根据处理结果返回 HTTP 响应(如 JSON、HTML 页面等)。
2025-01-22 21:26:09
380
原创 18小U的最大连续移动次序问题-青训营刷题
这段代码通过深度优先搜索(DFS)遍历矩阵中的每个单元格,并尝试从每个单元格开始的“上坡”和“下坡”路径。最终返回最长路径的长度。代码的核心在于递归的 DFS 实现和路径长度的计算。
2025-01-22 15:42:50
450
原创 git命令使用笔记
在 Git 中查看分支是一个非常常见的操作,你可以通过以下命令来查看本地分支、远程分支,或者同时查看两者。以下是具体的命令和说明:要查看当前仓库的所有本地分支,可以使用以下命令: 这个命令会列出所有本地分支,并在当前分支前显示一个星号()。示例输出: 如果你希望以更详细的方式查看分支,可以使用 参数: 这将显示每个分支的最后一次提交信息。要查看远程仓库中的所有分支,可以使用以下命令: 这个命令会列出所有远程分支,通常以 开头。示例输出: 3. 同时查看本地和远程
2025-01-21 19:44:55
997
原创 17小M的数组变换-青训营刷题
小M拿到一个数组,她可以进行多次操作,每次操作可以选择两个元素 aiai 和 ajaj,并选择 aiai 的一个因子 xx,然后将 aiai 变为 ai/xai/x,并将 ajaj 变为 aj×xaj×x。这段代码的逻辑是正确的,因为它正确地计算了所有数字的素因子,并通过集合的大小来判断是否满足条件。,那么可以通过某种方式将这些素因子分配给数组中的每个数字,使得每个数字的素因子个数不超过1。来存储素因子可以有效避免重复,同时集合的大小可以直接反映素因子的总数。,大小为 3,等于 3,返回。
2025-01-21 10:39:33
658
原创 15最少前缀操作问题
代码定义了一个名为Main的公共类。solution这段代码的主要目的是计算两个字符串之间的差异个数,但存在一些逻辑错误。正确的逻辑应该是只计算两个字符串在相同位置上字符不同的个数,再加上两个字符串长度的绝对值差。
2025-01-19 11:34:40
1150
原创 14数组元素之和最小化-掘金刷题
这就是代码中使用的公式。通过这个公式,我们可以直接计算出结果,而不需要使用列表和流,提高了性能和效率。在本题中,我们需要计算从1到n的整数与k相乘后的和。这个公式是基于等差数列求和的原理推导出来的。任务是输出该数组元素之和的最小值。首项a1=1×k=k。Sn是前n项的和。末项an=n×k。
2025-01-18 16:49:35
188
原创 12最大UCC子串计算-掘金刷题
小S有一个由字符 和 组成的字符串 SS,并希望在编辑距离不超过给定值 mm 的条件下,尽可能多地在字符串中找到 子串。编辑距离定义为将字符串 SS 转化为其他字符串时所需的最少编辑操作次数。允许的每次编辑操作是插入、删除或替换单个字符。你需要计算在给定的编辑距离限制 mm 下,能够包含最多 子串的字符串可能包含多少个这样的子串。例如,对于字符串和编辑距离限制,可以通过编辑字符串生成最多包含3个子串的序列。约束条件:样例1:样例2:样例3:样例1:可以将字符串修改为 "UCCUCCUCC"(2 次替
2025-01-17 10:04:21
713
1
原创 1找单独的数-掘金刷题
在一个班级中,每位同学都拿到了一张卡片,上面有一个整数。有趣的是,除了一个数字之外,所有的数字都恰好出现了两次。现在需要你帮助班长小C快速找到那个拿了独特数字卡片的同学手上的数字是什么。解释:拿到数字 4 的同学是唯一一个没有配对的。解释:10 是班级中唯一一个不重复的数字卡片。解释:数字 2 只出现一次,是独特的卡片。
2025-01-17 08:54:48
326
原创 mybatis获取mysql数据库datetime类型的数据是时间出现误差
要设置正确的时区,将jdbc设置成如下。当然java2217替换成你的数据库名。
2024-08-17 17:47:46
245
原创 mybatis-config.xml配置文件顺序
configuration(配置) properties(属性) settings(设置) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件) environments(环境配置) environment(环境变量) transactionManager(事务管理器) dataSource(数据源) databaseIdProvider(数据库厂商标识)
2024-08-16 10:36:14
133
原创 mybatis将mybatis-config.xml配置文件抽取到db.properties出现错误
以下文件是mybatis-config.xml。properties属性标签要放在最前面配置。以下文件是db.properties。
2024-08-16 10:32:25
255
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人