掘友等级
获得徽章 0
#刷题交流# 字符串加解密
如果当前字符是 'a' 到 'w' 之间的字母,直接向前移动三个位置即可。
如果当前字符是 'x' 到 'z' 之间的字母,需要考虑字母表的循环特性,即 'x' 的三重前驱是 'u','y' 的三重前驱是 'v','z' 的三重前驱是 'w'。
#刷题交流# 分糖果
初始化:创建一个长度为 n 的数组 distribution,初始值为 0。
分发糖果:
使用一个变量 current_candies 来记录当前轮次每个小朋友应该获得的糖果数。
使用一个变量 remaining_candies 来记录剩余的糖果数。
循环分发糖果,直到剩余的糖果数不足以满足当前轮次分发的要求。
更新数组:在每一轮分发中,更新 distribution 数组中对应小朋友的糖果数。
返回结果:当所有糖果分完后,返回 distribution 数组。
#刷题交流# 小x的区间值和
初始化一个变量来存储最终的权值和。
遍历数组中的每个元素,计算它与前面元素的按位或结果。
将这些结果累加到权值和中。
最后对结果取模 10^9 + 7。
#刷题交流# 流水线优化问题
初始化:初始化三个工人的当前时间(小C、小U、小R)为0。
初始化一个优先级队列,按照零件的优先级排序。
处理零件:从优先级队列中取出最高优先级的零件。
对于每个零件,依次处理"加工"、"质检"和"收尾"工序。
更新每个工人的当前时间,确保他们不会互相等待。
计算总时间:所有零件处理完成后,取三个工人中最后一个完成工作的时间作为总时间。
#刷题交流# 合并数组
排序数组:首先对数组进行排序,以便更容易找到中位数。
选择中位数:选择排序后数组的中位数作为目标值。
计算操作次数:遍历数组,计算将每个元素变为目标值所需的操作次数。
#刷题交流# 小x走字符串
初始化:将当前体力值设为 k。
遍历字符串:从第一个字符开始,逐个遍历到倒数第二个字符。
计算体力消耗:
计算当前字符和下一个字符的体力消耗(即 s[i+1] - s[i])。
更新当前体力值。
如果当前体力值小于0,直接返回 -1。
返回结果:如果成功遍历完字符串,返回剩余的体力值。
#刷题交流# 今日题目: 选择策略
初始化:创建一个双端队列,并将所有基金期望值放入队列中。
操作选择:在每次操作中,需要决定是购买最左边、最右边的基金,还是卖掉持有的某个基金并将其放回队列的某个位置。
决策策略:
比较最左边和最右边的基金期望值,选择期望值较大的那个进行购买。
如果持有的基金中有期望值为负的,考虑将其卖掉并放回队列的某个位置。
更新状态:根据操作更新队列和当前持有的基金期望值之和。
终止条件:当操作次数达到 k 次时,停止操作。
#刷题交流# 区间阈值和
初始化一个变量来存储最终的权值和。
遍历数组中的每个元素,计算它与前面元素的按位或结果。
将这些结果累加到权值和中。
最后对结果取取模。
#刷题交流# 今天打卡题目:书柜设计
初始化变量:max_books:用于记录最大书籍数量。
result:用于存储最终结果。
遍历数组:使用双指针(滑动窗口)来遍历数组,找到所有满足高度差不超过 k 的子数组。
对于每个子数组,检查其长度是否大于当前的 max_books,如果是,则更新 max_books 和 result。
记录结果:对于每个满足条件的子数组,记录其最小和最大序号。
#刷题交流# 字符修复问题,这题需要记录每个字符在当前窗口内的出现次数。需要判断当前窗口内的修复操作次数是否超过 m。
下一页