给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。

不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

示例 1:

给定 nums = [1,1,1,2,2,3],函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3 你不需要考虑数组中超出新长度后面的元素。

示例 2:

给定 nums = [0,0,1,1,1,1,2,3,3],函数应返回新长度 length = 7, 并且原数组的前五个元素被修改为 0, 0, 1, 1, 2, 3, 3 。你不需要考虑数组中超出新长度后面的元素。

说明:

为什么返回数值是整数,但输出的答案是数组呢?

请注意,输入数组是以“引用”方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。

你可以想象内部操作如下:

// nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝
int len = removeDuplicates(nums);// 在函数里修改输入数组对于调用者是可见的。
// 根据你的函数返回的长度, 它会打印出数组中该长度范围内的所有元素。
for (int i = 0; i < len; i++) {print(nums[i]);
}

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        int size=nums.size();
        if(size<=2)
            return size;
        int index=2;
        for(int i=2;i<size;i++)
        {
            if(nums[i]!=nums[index-2])
            {
                nums[index]=nums[i];
                index++;
            }
        }
        return index;
    }
};

80. 删除排序数组中的重复项 II相关推荐

  1. 80. 删除排序数组中的重复项 II golang

    80. 删除排序数组中的重复项 II 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O ...

  2. Leecode刷题【1数组专题4】80. 删除排序数组中的重复项II (以及通用解法)

    Leecode刷题 [1数组专题4]80. 删除排序数组中的重复项II (以及通用解法) 题目: 思路 双指针法: (错误代码) 正解: 通用解法: 题目: 给你一个有序数组 nums ,请你 原地 ...

  3. LeetCode 80. 删除排序数组中的重复项 II

    1. 题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完 ...

  4. LeetCode 79单词搜索80删除排序数组中的重复项Ⅱ81.搜索旋转排序数组Ⅱ

    新人公众号(求支持):bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注回复进群即可加入力扣打 ...

  5. vue删除数组中的一条数据_删除排序数组中的重复项 II

    删除排序数组中的重复项 II题目 给定一个增序排列数组 nums ,你需要在 原地 删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改 ...

  6. 80. 删除有序数组中的重复项 II

    80. 删除有序数组中的重复项 II Ideas 没啥技术含量,从后往前,check+delete. Code Python class Solution:def removeDuplicates(s ...

  7. LeetCode-80: 删除排序数组中的重复项 II

    题目描述: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完 ...

  8. leetcode80. 删除排序数组中的重复项 II

    给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. 示例  ...

  9. 14. Leetcode 80. 删除有序数组中的重复项 II (数组-同向双指针-快慢指针)

    给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 最多出现两次 ,返回删除后数组的新长度.不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条 ...

  10. leetcode 80. 删除有序数组中的重复项 II

    给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 最多出现两次 ,返回删除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的 ...

最新文章

  1. 移柯L620模组使用MQTT协议连接移动OneNet云平台(NB-IoT专栏—进阶篇3)
  2. linux arm 常用服务,ARM、linux常用服务器+交叉编译工具链
  3. HttpClient使用方法(包括POST文件)
  4. mysql 跨库复制_Mysql跨数据库(在同一IP地址中)复制表
  5. RS485串口光端机产品功能特点介绍
  6. 谷歌大改Transformer注意力,速度、内存利用率都提上去了-新的 Transformer 架构——Performer
  7. 在Java编码中,如何减少bug数量
  8. 万字长文剖析Redis分布式锁到底安不安全
  9. 二叉树——淘汰赛(洛谷 P4715)
  10. 一招教你数据仓库如何高效批量导入与更新数据
  11. Apache和Nginx防盗链
  12. Linux内核代码 分析大纲思维导图
  13. Python之list添加新元素
  14. 2接口详解_冯博琴微型计算机原理与接口技术第3版答案资料配套题库名校考研真题课后习题章节题库模拟试题...
  15. winform窗体最大化、最小化、还原
  16. 博科300 java配置,博科300 光纤交换机如何设置为SSH登录?
  17. 腾讯云推出“版权音乐助手”让音乐版权使用“按量付费“
  18. 均方距离计算公式_均方末端距的统计计算法.ppt
  19. 在科学史上,“革命”意味着什么?
  20. IDEA 导入maven项目后导(下载)包失败的问题

热门文章

  1. [POI2007]ODW-Weights(贪心)
  2. 《BGP设计与实现》一2.11 总结
  3. 华三交换机链路聚合的几点思考
  4. Content Delivery Network (CDN)
  5. Phonegap(Cordova)3.4 + Android 环境搭建
  6. 程序猿加班到深夜,你经历过没?
  7. 设计模式之美:Builder(生成器)
  8. 整理Oracle日期时间函数
  9. IBM为北约创建云计算系统用于军情分析
  10. 米莱迪机器人加物理攻击_自拍、航拍、运动拍“ALL IN ONE”,臻迪PowerEgg X开启全新未来...