当前位置: 首页 > article >正文

每日一题 2216. 美化数组的最少删除数(中等,贪心)

在这里插入图片描述

  1. 贪心,一开始可能会觉得如果删除前面一个相等的元素时,会导致后面的元素前移,造成产生更多的相等的元素对的情况
  2. 但是在遍历过程中至少要在相等元素对中删除一个,也可以同时删除两个使得后面的元素奇偶关系不变,但是显然如果删除一个当前元素对中的元素后,再删除下一个元素对的一个元素也可以使得后面的元素奇偶关系不变
  3. 总之贪心地删除遇到的每一个相等元素对中的一个就可以了
class Solution:
    def minDeletion(self, nums: List[int]) -> int:
        i = 0
        ans = 0
        while i < len(nums) - 1:
            if nums[i] != nums[i + 1]:
                i += 2
                continue
            ans += 1
            i += 1
            
        return ans if (len(nums) - ans) % 2 == 0 else ans + 1

http://www.kler.cn/a/137069.html

相关文章:

  • 【数据库】Redis—Java 客户端
  • MySQL表名传参SP
  • GESP CCF C++八级编程等级考试认证真题 2024年12月
  • 页面无滚动条,里面div各自有滚动条
  • Oracle中间件 SOA之 OSB 12C服务器环境搭建
  • 使用qemu搭建armv7嵌入式开发环境
  • Foodpanda API连接的艺术:无代码开发如何集成营销系统和广告推广工具
  • 每日一练 | 华为认证真题练习Day134
  • SQL基础理论篇(七):多表关联的连接算法
  • 『亚马逊云科技产品测评』活动征文|借助AWS EC2搭建服务器群组运维系统Zabbix+spug
  • 软考高项知识点 安全技术
  • 【Linux】指令详解(二)
  • 如何将MBR转换为GPT?原来操作这么简单!
  • milvus数据库搜索
  • 隐私计算迎来千亿级风口,一文讲清它的技术理论基础
  • STM32 -Bin/Hex文件格式解析
  • 【excel技巧】单元格内的公式如何隐藏?
  • APP分发平台指的是将开发完成的应用程序
  • 数据仓库相关
  • 适合学校或高校老师、学生学习用的网盘推荐
  • Modbus TCP/RTU协议转PROFINET协议网关
  • 【视觉SLAM十四讲学习笔记】第三讲——旋转矩阵
  • 碳中和领域研究,细谈新能源“爆发”的原因之一
  • centos安装指定版本docker
  • 面试官:如何实现微服务全链路灰度发布?
  • Element UI 禁用数字输入框组件添加鼠标滚动事件