上岸算法LeetCode Weekly Contest 291解题报告
本帖最后由 上岸算法 于 2022-5-5 00:11 编辑【 NO.1 移除指定数字得到的最大结果】
解题思路
可以使用 BigInteger 来比较大小。
代码展示
【 NO.2 必须拿起的最小连续卡牌数】
解题思路
题意即求相距最近的两个等值元素的距离,遍历一次,记录每个值上一次出现的位置即可。
代码展示
【 NO.3 含最多 K 个可整除元素的子数组】
解题思路
定义一个 SubSeq 类,实现如下几个方法即可用 HashSet 统计数量。
hashCode 计算哈希值
check 检查是否满足最多有 k 个能被 p 整除的元素
equals 检查是否相等
代码展示
【 NO.4 字符串的总引力】
解题思路
定义 f 表示以第 i 个字符结尾的子串的引力总和,再定义 pos 表示字符 i 上一次出现的位置。
则有 f = f + (i - 1 - pos])
因为以 i 结尾的子串中,pos] + 1 到 i 之间的子串都会多出一个字符 charAt,而其他的子串的总引力与以 i - 1 结尾的子串的总引力相等。
代码展示
页:
[1]