题目描述:

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

不要使用额外的数组空间,你必须在原地修改输入数组并在使用 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 。

你不需要考虑数组中超出新长度后面的元素。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

C++:

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

C:
int removeDuplicates(int* nums, int numsSize){
        if (numsSize <= 2) {
            return numsSize;
        }
        
        int index=0;
        for(int i=2;i<numsSize;++i){
            if(nums[index] != nums[i]){
                nums[index+2]=nums[i];
                ++index;
            }
        }
        
        return index+2;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

  7. C++描述 LeetCode 26. 删除排序数组中的重复项

    C++描述 LeetCode 26. 删除排序数组中的重复项   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客 ...

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

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

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

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

  10. leetcode 26 删除排序数组中的重复项

    https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素 ...

最新文章

  1. 人工智能商业化的重点:语音交互和人脸识别
  2. python中Scipy模块求取积分
  3. 解决“The type initializer for'Oracle.DataAccess.Client.OracleConnection' threw an exception ”异常...
  4. 二叉搜索树简介和部分题目
  5. javascript第三天(2)
  6. svn由于连接方在一段时间后没有正确答复或连接的主机没有反应连接尝试失败...
  7. 中小企业团队敏捷产品开发流程最佳实践
  8. 微型计算机文献,微型计算机控制系统期刊文章参考文献 哪里有微型计算机控制系统参考文献...
  9. Maximo中调用XFire客户端的实现—Weblogic中间件
  10. linux列举网卡,linux下快速列出局域网中所有主机名(计算机名)的脚本
  11. JavaScript学习总结(二十)——Javascript非构造函数的继承
  12. Active Directory之强制占有操作主机
  13. 19. web root (2)
  14. cnblogs用户体验评价
  15. Java编程基础12——Eclipse使用Object类型
  16. 网络战武器——震网(Stuxnet)病毒
  17. 最新PHP全开源京东淘宝唯品会自动抢单系统源码
  18. mysql冒号_mysql语句中的冒号是什么意思?
  19. Linux系统和Windows系统的区别
  20. 什么是真正的架构设计?十年Java经验让我总结出了这些,不愧是我

热门文章

  1. 【ECSHOP】格式化商品价格
  2. Redis 和 Memcached 的区别
  3. BZOJ 3668: [Noi2014]起床困难综合症( 贪心 )
  4. 【转贴】C#中事件处理的个人体会
  5. JS,中文,未结束的字符常量
  6. C语言结构体赋值和有指针成员的结构体赋值
  7. Win32 鼠标绘图代码研究
  8. DES算法详解和代码 - IP置换
  9. 在持续交付阶段中的测试覆盖率(译)
  10. [总结]vue开发常见知识点及问题资料整理(持续更新)