题目描述:

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

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

示例 1:

给定数组 nums = [1,1,2],

函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。

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

给定 nums = [0,0,1,1,1,2,2,3,3,4],

函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。

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

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

1. C++

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        if (nums.empty()){ //数组为空,直接返回0
            return 0;
        }
        
        int index = 0;
        for(int i=1;i<nums.size();++i){
            if(nums[index] != nums[i]){ //前后两个元素不相同,表示有新的元素
                nums[++index] = nums[i]; 
            }
        }
        
        return index+1;
    }
};

2. C

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

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

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

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

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

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

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

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

  4. LeetCode(#26)————删除排序数组中的重复项

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

  5. 索引超出了数组界限_【每天一题】LeetCode 26. 删除排序数组中的重复项

    开源地址 JiauZhang/algorithms​github.com 题目描述 * https://leetcode-cn.com/problems/remove-duplicates-from- ...

  6. LeetCode 26.删除排序数组中的重复项

    原题 标签  : 数组  重复元素  有序  双指针 快慢指针 解题思路: 1.判断数组是否为空,为空返回0 2.我们可以放置两个指针 ,其中 k 是慢指针,用来存下所有不同的数,而 j 是快指针用来 ...

  7. C++ leetcode 26. 删除排序数组中的重复项 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。

    一.思路: nowPos当前第几个没有重复的数,count指向第nowPos+1个重复数的位置 二.C++ int removeDuplicates(vector<int>& nu ...

  8. [LeetCode][Python][C#]刷题记录 26. 删除排序数组中的重复项

    这道题我真的纠结好久,因为没注意那个原地的题目要求,所以很奇怪怎么我电脑运行成功,但是LeetCode上运行就是不对.气哭. 感谢群友lino的帮助.他试了set方法不行,直接喂给我的答案了... 题 ...

  9. ios 数组中的字典排序_题解 | 26.删除排序数组中的重复项

    假设我们有一个传感器,会不停地向 HQ 传输已经归类好数据,数据的格式全部是数字(种类编号),且已经按照从小到大的顺序排列,大概是 [1,1,4,5,7,9] 这样的,但是我们的需求在于,希望知道有多 ...

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

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

最新文章

  1. NOI2003文本编辑器
  2. 惊讶!缓存刚Put再Get居然获取不到?
  3. 智慧城市建设:科技创业的下一个浪潮
  4. 华中科技大学计算机考研408,【21计算机考研】华中科技大学不改408了?燕山大学官宣408!...
  5. JAVA实现合并两个排序的链表(《剑指offer》)
  6. 计算机应用看法,对计算机应用教学方法改革的看法
  7. 如何优化移动端的网站排名?
  8. 【Android】BroadCast广播机制应用与实例
  9. 微信无法连接服务器1-502,只有一部iphone x手机,在微信公众号中选择菜单,出现bad gateway 502错误,原因?...
  10. 视频编码中为什么须要进行变换编码?
  11. MediaPlayer对象从停止状态到播放状态调用的方法是prepare()和start()
  12. mysql+数据库主从原理_MySQL主从复制原理及实现
  13. Android.mk转换到Android.bp方法
  14. LeetCode刷题——209. 长度最小的子数组
  15. TOMCAT下应用部署新法(/META-INF/context.xml)
  16. 单片机开发软件keil4和proteus的使用教程(超详细)_☆往事随風☆的博客
  17. 计算机装打印机,电脑怎么安装打印机
  18. 05二项式系数Cnk.md
  19. 有关clipToPadding、 clipChildren的那些事
  20. 谷歌浏览器小恐龙作弊无敌代码

热门文章

  1. Java锁机制(一)synchronized
  2. PostgreSql入门命令
  3. java正则替换标点
  4. UA PHYS515 电磁理论I 麦克斯韦方程组基础1 库仑定律与毕奥-萨伐尔定律
  5. UA MATH567 高维统计III 随机矩阵10 亚高斯矩阵的应用:协方差估计与聚类问题的样本量需求计算
  6. UA MATH567 高维统计II 随机向量2 各向同性的随机向量
  7. UA MATH567 高维统计I 概率不等式3 亚高斯性与亚高斯范数
  8. Windows下Git的安装和基本使用、搭建Git服务器
  9. 百度地图坐标系相关学习总结
  10. 国外开源网站网页翻译