3471. 找出最大的几近缺失整数
3471. 找出最大的几近缺失整数
class Solution:
# 辅助方法,判断第三种情况,只有首位两个元素有可能为最大几近缺失数
def f(self,nums,x):
return -1 if x in nums else x
def largestInteger(self, nums: List[int], k: int) -> int:
n = len(nums)
if k == n:
return max(nums)
if k == 1:
ans = -1
# 首先,Counter(nums) 会遍历列表 nums,统计每个元素出现的次数,
# 生成一个 Counter 对象(类似于字典)
# 接着,.items() 方法将这个 Counter 对象转换为一个包含所有 (元素, 计数) 对的可迭代对象。
# x 是列表 nums 中的一个唯一元素。
# c 是该元素在 nums 中出现的次数
for x,c in Counter(nums).items():
if c == 1:
ans = max(ans,x)
return ans
return max(self.f(nums[1:],nums[0]),self.f(nums[0:n-1],nums[-1]))