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 @   xiaoxinlong  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
AmazingCounters.com
点击右上角即可分享
微信分享提示