掘友等级
获得徽章 0
#刷题交流# 小C的棋盘 1. 初始化棋盘:
创建一个8x8的二维数组表示棋盘
使用0表示安全位置,1表示被攻击的位置
初始标记骑士和主教的位置为1
2. 骑士的移动:
骑士可以按照"日"字形移动
一旦选择了移动方向就会一直移动到棋盘边界
移动方向满足|dx|+|dy|=3且dx≠0且dy≠0
标记所有骑士可以攻击到的位置为1
3.主教的移动:
主教沿对角线移动(|dx|=|dy|=1)
一旦选择了移动方向就会一直移动到棋盘边界
标记所有主教可以攻击到的位置为1
计算安全位置:
遍历棋盘,统计值为0(未被攻击)的格子数量
#刷题交流# 小C的构造字母串挑战 1. 首先判断是否可能构造出合法字符串:
如果a的数量超过k*(b的数量+1),那么无论如何都会出现超过k个连续的'a'
同样,如果b的数量超过k*(a的数量+1),那么无法避免超过k个连续的'b'
2. 使用贪心策略构造字符串:
优先尝试放置'b',因为'b'的字典序更大
只有在以下情况才放置'a':
当前已有k个连续的'b'
或者剩余的'b'不足以分配到剩余位置(避免最后剩下太多'a')
3. 维护连续字符的计数:
每次添加字符时更新consecutive_count
如果添加的字符与前一个不同,重置计数为1
#刷题交流# 小C选点问题 解题思路:
排序:首先将所有点按照坐标升序排序。
动态规划数组:定义一个二维数组 dp,其中 dp[i][j] 表示从前 i个点中选择 j个点的有效方案数。
状态转移:对于每个点 i,我们尝试将其加入到已经选择的点集合中,并确保新加入的点与已选点之间的距离不超过 k。
滑动窗口优化:使用滑动窗口来维护当前有效的点范围,从而减少不必要的计算。
#刷题交流# 小B的O绘制请求 创建了一个 generate_row 辅助函数来生成每一行
根据行号将图案分为三个部分处理:
上部(row < n):由 "." 和 "*" 组成
中部(n <= row < 4n):包含 "O" 的主体部分
下部(row >= 4n):与上部对称
中部的处理:
分为上中部和下中部
上中部:纯 "O" 填充
下中部:根据位置添加 "." 来形成中空效果
#刷题交流# 打卡第一天 《区间内排列的数量》 解题思路:遍历所有可能的区间;判断每个区间是否构成排列;统计满足条件的区间数量
#豆包MarsCode AI练中学# 大家可以看看我的题解
#豆包MarsCode AI练中学# day8 首先初始化Embedding类,再导入文档加载器模块,并使用加载器创建索引,定义查询字符串, 使用创建的索引执行查询,最后输出结果
#豆包MarsCode AI练中学# day7 解析输出结果 ,通过DataFrame用于存储结果,并且定义输出格式,创建提示模板跟解析器, 时在提示中加入输出解析器的说明,最后获取模型的输出同时解析。
#豆包MarsCode AI练中学# day6 自定义的LLM类,继承自基础LLM类,然后由Llama库调用模型生成回复,再从返回的回复中提取文本部分,最后打印生成回复
#豆包MarsCode AI练中学# day4 通过设置环境变量和API密钥 以及设计创建聊天模型,并且通过设定 AI 的角色和目标,最后阶段接收用户的询问,返回回答结果
下一页