2216.美化数组的最少删除数

​​题目来源:

leetcode题目,网址:2216. 美化数组的最少删除数 - 力扣(LeetCode)

解题思路:

假设在第 i 个位置前已删除 res 个元素。遍历原数组,对于第 i 个元素,若 (i-res)%2==0,则其在美化后数组的 位置是偶数,删去其后与其相连的相同元素并将 res 加上对应元素个数后,移动至第一个不相等元素处,否则直接跳过。最后判断 (nums.size()-res)%2 是否为 0, 若是 加一后返回,否则直接返回。

解题代码:

复制代码
class Solution {
public:
    int minDeletion(vector<int>& nums) {
        int res=0;
        for(int i=0,cnt=0;i<nums.size();i++,cnt++){
            if(cnt%2!=0){
                continue;
            }
            for(int j=i+1;j<nums.size();j++){
                if(nums[i]==nums[j]){
                    res++;
                    i=j;
                }else{
                    break;
                }
            }

        }
        if((nums.size()-res)%2!=0){
            res++;
        }
        return res;
    }
};
复制代码

总结:

官方题解在删除字符时,是从前往后删除,保留最后一个字符,而我是保留第一个字符。


相关推荐
zander2588 小时前
LeetCode 300. 最长递增子序列
算法·leetcode·深度优先
程序员与背包客_CoderZ9 小时前
高性能分布式KV存储引擎RocksDB入门与C/C++编码实战
c语言·开发语言·数据库·c++·分布式·分布式数据库·rocksdb
进击的_鹏9 小时前
从零开始的 Redis 学习
服务器·数据库·c++·redis·缓存
欧叶冲冲冲9 小时前
Python常见数据结构的CRUD(LeetCode高频版速查)
数据结构·python·leetcode
圣保罗的大教堂9 小时前
leetcode 3622. 判断整除性 简单
leetcode
_Narcissus_10 小时前
链表算法题和静态链表
数据结构·c++·笔记·算法·链表·ai·力扣
布莱克60510 小时前
C++拷贝构造与拷贝赋值运算符的区别详解
开发语言·c++
Lyyaoo.10 小时前
【普通数组】【中等】除了自身以外数组的乘积
数据结构·算法·leetcode
啦啦啦啦啦zzzz11 小时前
时间轮定时器
linux·服务器·网络·c++·定时器
圣保罗的大教堂11 小时前
leetcode 2996. 大于等于顺序前缀和的最小缺失整数 简单
leetcode