获得徽章 16
- #TRAELAND#
Trae 使用感想:2025 年度最佳效率伙伴
作为一款AI 驱动的任务管理 + 知识整合工具,Trae 彻底改变了写代码的方式。它不像传统工具那样冰冷地罗列待办事项,而是能一个分析问题,解析问题的小助手,可以主动学习我的工作习惯,在合适的时间提供恰到好处的支持。展开评论点赞 - #刷题交流#
第二十七天,游戏英雄升级潜力评估
理解问题:我们需要找出有多少英雄有潜力通过历练达到2000000000000000级。这意味着我们需要找出那些等级不是最低的英雄,因为只有这些英雄才有可能通过历练升级。
算法步骤:
首先,找到所有英雄中的最低等级。
然后,计算等级不是最低的英雄的数量。
这个数量就是有潜力达到2000000000000000级的英雄数量。展开评论点赞 - #刷题交流#
第二十六天,小U的数字插入问题
转换为字符串:将 a 和 b 都转换为字符串,以便于进行插入操作。
遍历插入位置:遍历所有可能的插入位置,从 a 的开头到 a 的末尾(包括在末尾插入)。
生成新数字:在每个插入位置,将 b 插入到 a 中,生成一个新的数字。
比较并更新最大值:比较新生成的数字与当前最大值,如果新生成的数字更大,则更新最大值。
返回最大值:遍历结束后,返回找到的最大值。展开评论点赞 - #刷题交流#
第二十五天,小R的随机播放顺序
定义状态:我们使用一个二维数组 f,其中 f[i][j] 表示将 dna1 的前 i 个字符转换成 dna2 的前 j 个字符所需的最少编辑步骤。
初始化:如果其中一个序列的长度为0,那么编辑步骤的数量就是另一个序列的长度。因此,f[i][0] = i 和 f[0][j] = j。
状态转移:对于每个字符 dna1[i-1] 和 dna2[j-1],我们有三种选择:
删除 dna1[i-1],则 f[i][j] = f[i-1][j] + 1
插入 dna2[j-1],则 f[i][j] = f[i][j-1] + 1
替换 dna1[i-1] 为 dna2[j-1],如果它们不相等,则 f[i][j] = f[i-1][j-1] + 1,否则 f[i][j] = f[i-1][j-1]
最终结果:f[n][m] 就是将 dna1 转换成 dna2 所需的最少编辑步骤,其中 n 和 m 分别是 dna1 和 dna2 的长度。展开评论点赞 - #刷题交流#
第二十四天,小R的随机播放顺序
采用深度优先搜索(DFS)的方法来遍历二叉树。具体来说,我们可以从根节点开始,递归地访问每个节点的左子树和右子树,直到遍历完整棵树。在遍历的过程中,我们可以记录每个节点的值,并根据题目要求进行相应的操作(例如计算路径和、查找特定节点等)。通过这种方式,我们可以有效地解决与二叉树相关的问题。展开评论点赞 - #刷题交流#
第二十三条,石子移动问题
统计牌的数量:首先,使用一个 map 来统计每张牌的数量。
找到三张和两张的组合:遍历 map,找出所有可能的三张牌和两张牌的组合。
排序:对找到的三张牌和两张牌进行降序排序,以便优先选择数值较大的牌。
查找最大葫芦组合:遍历所有可能的三张牌和两张牌的组合,找到符合条件(即三张牌和两张牌的和不超过 max)的最大葫芦组合。展开评论点赞 - #刷题交流#
第二十二天,最少字符串操作次数
首先,统计字符串中每个字符的出现频率,然后遍历这些频率,对于每个出现次数大于1的字符,计算需要多少次操作(即 `count - 1`)来减少其出现次数,直到每个字符的出现次数都不超过1次。最后,将所有这些操作次数累加起来,得到最少需要的操作次数。评论点赞