- Leetcode 3334. Find the Maximum Factor Score of Array
- 1. 解题思路
- 2. 代码实现
- 题目链接:3334. Find the Maximum Factor Score of Array
1. 解题思路
这一题我做的多少还是有点暴力的,就是遍历所有的元素,找到最大的那个score。
唯一做了一点优化的是,显然对于那些重复出现的元素,删除与否不会影响结果,因此没必要考察,只要考察那些仅出现过一次的元素被删除的情况即可。
2. 代码实现
给出python代码实现如下:
class Solution:def maxScore(self, nums: List[int]) -> int:cnt = Counter(nums)def fn(rm):_lcm = 0_gcd = 0for x in nums:if x == rm:continueelif _lcm == 0:_lcm, _gcd = x, xelse:_lcm = lcm(x, _lcm)_gcd = gcd(x, _gcd)return _lcm * _gcdans = fn(-1)for k, v in cnt.items():if v == 1:ans = max(ans, fn(k))return ans
提交代码评测得到:耗时9ms,占用内存16.6MB。