掘友等级
      
 
         
 获得徽章 0
 -   -   #刷题交流#  使用两个指针 start 和 end 来表示当前窗口的范围。
 每次移动 end 指针,更新 current_product。
 如果 current_product 大于 max_product,更新 max_product 和 best_start、best_end。
 如果 current_product 等于 max_product,比较当前区间的起始位置和结束位置,选择更优的区间。
 如果遇到0,重置 current_product 并移动 start 指针到 end 的下一个位置。-   
 
 
-   -   #刷题交流#  子序列计数问题
 对于每个字符 s[i],需要考虑它与前面所有字符的组合情况。
 如果 s[i] 是第一次出现,那么以 s[i] 结尾的子序列个数就是前面所有子序列的总数加一(加一是因为可以单独形成一个子序列)。
 如果 s[i] 不是第一次出现,那么需要减去之前以 s[i] 结尾的子序列个数,以避免重复计算。-   
 
 
-   -   #刷题交流#  字符串构造问题
 初始化一个计数器和一个删除字符数的变量。
 遍历字符串,统计每个字符的连续出现次数。
 根据统计结果,计算需要删除的字符数。-   -   
 
 
-   -   #刷题交流#  首尾相同子序列计数
 初始化一个字典,用于存储每个字符及其出现的位置列表。
 遍历字符串,将每个字符的位置添加到对应的字典项中。
 计算每个字符的子序列数量:
 对于每个字符,遍历其出现的位置列表。
 对于每个位置,计算以该位置为结尾的子序列数量。
 具体来说,对于每个位置 i,计算从该位置到字符串末尾的所有可能的子序列数量。
 累加所有字符的子序列数量,并对结果取模-   
 
 
-   -   #刷题交流#  融合目标计算问题
 初始化计数器:用于统计满足条件的组合数量。
 递归或迭代枚举:对于每个目标,选择其两种变换值之一,并继续递归或迭代。
 计算乘积并检查:在递归或迭代的每一步,计算当前组合的乘积,并检查是否在区间 [L,R] 内。
 累加计数器:如果满足条件,累加计数器。-   
 
 
-   -   #刷题交流#  统计说谎的人数
 排序:首先对成绩数组进行排序。
 计数:对于每个学生的成绩,计算有多少个学生的成绩小于等于他。
 比较:对于每个学生,比较小于等于他的学生数量和比他分数高的学生数量。如果前者大于后者,则该学生会说谎。
 统计:统计所有会说谎的学生数量。-   
 
 
-   -   #刷题交流#  单词构造策略
 初始化:定义一个变量来记录当前最长合法单词的长度。
 遍历字符串:从头到尾遍历字符串中的每一个字符。
 判断字符类型:判断当前字符是元音还是辅音。
 维护合法单词长度:
 如果当前字符是元音,直接增加当前合法单词的长度。
 如果当前字符是辅音,检查前一个字符是否也是辅音:
 如果是,则当前合法单词长度重置为1(因为辅音不能相邻)。
 如果不是,则增加当前合法单词的长度。-   
 
 
-   -   #刷题交流#  子数组和的最大值问题,计算前缀和:首先计算数组的前缀和。
 遍历删除元素:对于每个可能删除的元素,计算删除该元素后,长度为 k 的子数组的最大和。
 比较结果:比较所有可能删除元素后的结果,取最大值。-   -   
 
 
-   -   #刷题交流#  字母串构造挑战
 在每次循环中,尝试添加 k 个 'b' 到 result 中,如果 y 不足 k,则添加剩余的 y 个 'b'。
 然后尝试添加 k 个 'a' 到 result 中,如果 x 不足 k,则添加剩余的 x 个 'a'。
 如果无法继续添加 'a' 或 'b' 而仍然有剩余的 'a' 或 'b',则说明无法构造出符合条件的字符串,返回 -1。-   
 
 
-   -   #刷题交流#  外卖超时判断
 转换时间:将 "HH:MM" 格式的时间转换为分钟数。
 例如,"18:00" 转换为 18*60 + 0 = 1080 分钟。
 比较时间:如果 t3 的分钟数大于 t2 的分钟数,则输出 "Yes"。
 否则,输出 "No"。
 跨天处理:如果 t2 的分钟数小于 t3 的分钟数,但 t2 的分钟数加上 24 小时(1440 分钟)后大于 t3 的分钟数,则输出 "Yes"。-