
获得徽章 0
#刷题交流# 第十四天 国际象棋跳跃问题
这到题开始分析感觉和斐波那契和lk上的一道循环转圈的集合起来的原理类似,唯一不同的就是这是个无限大的平面。
但是代码表示以及跳跃判定还是逻辑有一些问题,判断条件对端点的情况有些不对。![[流泪]](//lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_6.dde0d83.png)
而且豆包的答案有错误,不能通过测试。
这到题开始分析感觉和斐波那契和lk上的一道循环转圈的集合起来的原理类似,唯一不同的就是这是个无限大的平面。
但是代码表示以及跳跃判定还是逻辑有一些问题,判断条件对端点的情况有些不对。
![[流泪]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_6.dde0d83.png)
而且豆包的答案有错误,不能通过测试。
评论
1
#刷题交流# 第十三天 字符串解压缩
题目要求:
对一个压缩的字符串进行解压缩,其中每个字母后面可能跟随一个数字,表示该字母在解压后的字符串中需要重复的次数。如果字母后面没有数字,则该字母只出现一次。
类似问题总结思路:
字符串处理:遍历、字符判断(字母、数字)、字符串拼接等。
循环控制:通过循环控制指针的移动,逐个处理字符串中的字符。
数字解析:在处理字符串中的数字时,需要将字符转换为整数,并考虑多位数字的情况。
题目要求:
对一个压缩的字符串进行解压缩,其中每个字母后面可能跟随一个数字,表示该字母在解压后的字符串中需要重复的次数。如果字母后面没有数字,则该字母只出现一次。
类似问题总结思路:
字符串处理:遍历、字符判断(字母、数字)、字符串拼接等。
循环控制:通过循环控制指针的移动,逐个处理字符串中的字符。
数字解析:在处理字符串中的数字时,需要将字符转换为整数,并考虑多位数字的情况。
![[愉快]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_21.c408154.png)
展开
评论
1
赞了这篇文章
赞了这篇文章
赞了这篇文章
#刷题交流# 第十二天 小s的子序列平均数之和
题目要求计算所有子序列的平均数之和对 109+7 取模的值。首先,我们需要理解子序列的平均数之和的计算方法。对于一个数组 arr,其所有子序列的平均数之和可以分解为每个元素对所有子序列平均数的贡献。具体来说,每个元素 arr[i] 在所有子序列中出现的次数与其在子序列中的平均数贡献有关。通过组合数学的方法,我们可以计算出每个元素在所有子序列中出现的总次数,从而得到所有子序列的平均数之和。
知识扩展——豆包总结,仔细想一想解题过程确实有用到组合数学的解法![[不失礼貌的微笑]](//lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_16.9d17f6d.png)
组合数学:本题涉及组合数学中的子集计数问题,通过计算每个元素在所有子序列中出现的次数来求解平均数之和。
模运算:在处理大数问题时,模运算是一个重要的技巧,可以避免数值溢出。
快速幂算法:在计算 2n 时,使用快速幂算法可以在 O(logn) 的时间复杂度内完成计算。
题目要求计算所有子序列的平均数之和对 109+7 取模的值。首先,我们需要理解子序列的平均数之和的计算方法。对于一个数组 arr,其所有子序列的平均数之和可以分解为每个元素对所有子序列平均数的贡献。具体来说,每个元素 arr[i] 在所有子序列中出现的次数与其在子序列中的平均数贡献有关。通过组合数学的方法,我们可以计算出每个元素在所有子序列中出现的总次数,从而得到所有子序列的平均数之和。
知识扩展——豆包总结,仔细想一想解题过程确实有用到组合数学的解法
![[不失礼貌的微笑]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_16.9d17f6d.png)
组合数学:本题涉及组合数学中的子集计数问题,通过计算每个元素在所有子序列中出现的次数来求解平均数之和。
模运算:在处理大数问题时,模运算是一个重要的技巧,可以避免数值溢出。
快速幂算法:在计算 2n 时,使用快速幂算法可以在 O(logn) 的时间复杂度内完成计算。
展开
评论
2
赞了这篇文章
赞了这篇文章
赞了这篇沸点
#刷题交流# 第十一天 小C的好数
位运算确实判断时间上快些,但一个没注意容易溢出,有点麻烦![[尬笑]](//lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_59.8a63cb5.png)
位运算是一种高效的运算方式,适合用于枚举所有可能的排列方式。
在本题中,使用位运算 s >> i 和 & 1 来确定当前位置的数字是 d[0] 还是 d[1]。
位运算确实判断时间上快些,但一个没注意容易溢出,有点麻烦
![[尬笑]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_59.8a63cb5.png)
位运算是一种高效的运算方式,适合用于枚举所有可能的排列方式。
在本题中,使用位运算 s >> i 和 & 1 来确定当前位置的数字是 d[0] 还是 d[1]。
展开
评论
点赞
#刷题交流# 第十天 小S的黑白迷宫
从迷宫的左上角 (1,1) 到达右下角 (n,m),并且希望在移动过程中经过的黑色格子(表示为1)尽可能少。将这个问题转化为一个最短路径问题,其中路径的权重是经过的黑色格子的数量。为了找到最少经过的黑色格子数量,我们可以使用广度优先搜索(BFS)算法,因为它能够保证在无权图中找到最短路径。
用ai将抽象问题总结一下,确实不错
从迷宫的左上角 (1,1) 到达右下角 (n,m),并且希望在移动过程中经过的黑色格子(表示为1)尽可能少。将这个问题转化为一个最短路径问题,其中路径的权重是经过的黑色格子的数量。为了找到最少经过的黑色格子数量,我们可以使用广度优先搜索(BFS)算法,因为它能够保证在无权图中找到最短路径。
![[不失礼貌的微笑]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_16.9d17f6d.png)
展开
评论
点赞
#刷题交流# 第九天 93.英雄升级与奖励最大化
想要获得对应的奖励,小W需要将英雄的初始能力值升级到 b[i],并且所有英雄的初始能力值都为 1,所以我们可以先对每个目标能力值 b_i预处理出对应所需的升级次数,用数组 d表示, d[i]表示想达到目标值 i所需的升级次数
在处理出 d数组后,我们将问题转化为了:有 n 个英雄,最多通过k 次升级操作来提升英雄的能力值,然后每个英雄需要 d[b[i]]次操作,才能获得对应的奖励 c[i]。
又是一个经典的01背包问题,还是没有写出来
想要获得对应的奖励,小W需要将英雄的初始能力值升级到 b[i],并且所有英雄的初始能力值都为 1,所以我们可以先对每个目标能力值 b_i预处理出对应所需的升级次数,用数组 d表示, d[i]表示想达到目标值 i所需的升级次数
在处理出 d数组后,我们将问题转化为了:有 n 个英雄,最多通过k 次升级操作来提升英雄的能力值,然后每个英雄需要 d[b[i]]次操作,才能获得对应的奖励 c[i]。
又是一个经典的01背包问题,还是没有写出来
![[尬笑]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_59.8a63cb5.png)
展开
评论
1
赞了这篇文章