Q1. 使数组元素互不相同所需的最少操作次数

给你一个整数数组 nums,你需要确保数组中的元素 互不相同 。为此,你可以执行以下操作任意次:

  • 从数组的开头移除 3 个元素。如果数组中元素少于 3 个,则移除所有剩余元素。

注意:空数组也视作为数组元素互不相同。返回使数组元素互不相同所需的 最少操作次数 。

 

class Solution:
    def minimumOperations(self, nums: List[int]) -> int:

        ans = 0

        new_nums = nums

        
        while len(new_nums) >= 3:
            if len(set(new_nums)) != len(new_nums):
                ans += 1
                new_nums = new_nums[3:]
            else:
                return ans
        if len(new_nums)>0 and len(set(new_nums)) != len(new_nums):
                ans += 1
        return ans
        
            
        ©leetcode

 

posted @ 2024-12-22 22:57  xiaoxinlong  阅读(42)  评论(0)    收藏  举报
AmazingCounters.com