获得徽章 16
#刷题交流# 题:最大相等分割红包金额
思路:题目要求在一排红包中做两次切割,将红包分成三部分,使得第一部分和第三部分的红包总金额相等,并计算出第一部分的最大金额。核心信息是找到两个切割点,使得左右两部分的和相等。我们可以使用双指针的方法,从数组的两端向中间移动,通过累加和比较左右两部分的和,找到相等的分割点,并记录此时的最大金额。
#刷题交流# 问题:二进制之和
方式:二进制字符串转换为整数:
你已经使用了 int(binary1, 2) 和 int(binary2, 2) 将二进制字符串转换为整数。这个方法在处理较短的二进制字符串时是有效的,但对于非常长的二进制字符串可能会导致溢出问题。你可以考虑使用更安全的方法来处理大数。
#刷题交流# 题:和的逆运算问题
和的性质:
这些和是由 n 个整数两两相加得到的。和的个数是 n(n - 1) / 2。
最小和:
在排序后的和中,最小的和应该是两个最小的数相加的结果。次小的和应该是两个最小的数相加的结果,或者是一个最小的数和一个次小的数相加的结果。
递归推导:
如果我们能确定最小的数,那么我们可以通过递归的方式推导出其他的数。
#刷题交流# 今天发现一个真的好简单的题,哈哈,几秒解决;“给定一个字符串s,编写一个函数,将字符串中的小写字母a替换为"%100",并返回替换后的字符串。例如,对于字符串"abcdwa",所有a字符会被替换为"%100",最终结果为%100bcdw%100"。”
解决:直接一个replace方法轻松搞定,哈哈哈
#刷题交流# 问题:小E正的射击练习
关键点:使用 sqrt(x^2 + y^2) 计算距离。
使用 ceil 函数将距离向上取整,以确定射击点所在的环。
确保得分在0到10之间。
#刷题交流# 问题:最小替换子串长度
初始化:
计算字符串的总长度 n。使用 Counter 统计每个字符的出现次数。
检查初始状态:
如果每个字符的出现次数已经满足条件(即每个字符的出现次数都不超过 n // 4),则直接返回 0。
滑动窗口:
使用两个指针 l 和 r 来表示窗口的左右边界。初始化 l 和 r 为 0。移动右指针 r,并减少 cnt[s[r]] 的计数。当窗口内的字符计数满足条件时,记录当前窗口的长度,并尝试缩小窗口(移动左指针 l)。更新最小窗口长度。
#刷题交流# 今日心得就是,学习是要坚持的事情,所以今天到了这时候,我还是要完成刷题,哈哈
#刷题交流# 题目:给定一个字符串 s,该字符串中只包含英文大小写字母。你需要计算从字符串中最多能组成多少个字符串 "ku"。
思路:转换字符串为小写:这样可以忽略大小写的影响。
统计字符 'k' 和 'u' 的出现次数:使用字符串的 count 方法来统计。
计算最多能组成的 "ku" 的数量:由于每个 "ku" 需要一个 'k' 和一个 'u',所以最多能组成的 "ku" 的数量是 'k' 和 'u' 出现次数的最小值。
#刷题交流# 问题:小U手中有两个数字 a 和 b。第一个数字是一个任意的正整数,而第二个数字是一个非负整数。她的任务是将第二个数字 b 插入到第一个数字 a 的某个位置,以形成一个最大的可能数字。
思路:通过将整数转换为字符串,我们可以方便地在不同位置插入另一个数字,并通过比较新生成的字符串来找到最大的可能结果。这个方法的时间复杂度为 O(n),其中 n 是 a 的位数。
下一页