题目介绍

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

不要使用额外的数组空间,你必须在原地修改输入数组并在使用 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。你不需要考虑数组中超出新长度后面的元素。
说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以“引用”方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝
int len = removeDuplicates(nums);// 在函数里修改输入数组对于调用者是可见的。
// 根据你的函数返回的长度, 它会打印出数组中该长度范围内的所有元素。
for (int i = 0; i < len; i++) {print(nums[i]);
}

题目分析

既要原地修改数组,又要计算出不重复数字的数量,思路直接见源代码

源代码

class Solution
{
public:int removeDuplicates(vector<int>& nums) {if (nums.empty()) {return 0;}   int number=0;//用来记录不重复数字的数量for(int i=0;i<nums.size();i++){if(nums[i]!=nums[number]){number=number+1;nums[number]=nums[i];//把后面不重复数字的值赋值给前面,这样vector的最前面的几个数就是最终要得到的不重复数字}}return number+1;}
};

leetcode之删除排序数组中的重复项相关推荐

  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 80. 删除排序数组中的重复项 II

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

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

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

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

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

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

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

  7. Leetcode: removeDuplicates删除排序数组中的重复项

    题目: 给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度.元素的 相对顺序 应该保持 一致 . 由于在某些语言中不能改变数组的长 ...

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

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

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

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

  10. LeetCode--80. 删除排序数组中的重复项Ⅱ(双指针,暴力)

    删除排序数组中的重复项Ⅱ(C,Python) 1. 题目描述 2. 题目分析 3. C语言实现 4. Python实现 1. 题目描述 难度:中等 2. 题目分析 这道题是LeetCode–26. 删 ...

最新文章

  1. etcd 笔记(01)— etcd 简介、特点、应用场景、常用术语、分布式 CAP 理论、分布式原理
  2. 就算是戴上口罩,AI也知道你在说什么丨EMNLP 2020最佳论文
  3. wxWidgets学习 (1) -- Hello World 详解
  4. visual studio 2008快捷键大全 收藏
  5. 【题目分析】1059 Prime Factors (25 分)
  6. 请求zabbix_快速部署zabbix
  7. 拳王虚拟项目公社:小投资虚拟创业副业项目?零成本投资网赚项目
  8. weblogic8.1在myeclipse中启动正常,在单独的weblogic中无法正常启动的解决方案.
  9. Akka定义Actors和消息《two》译
  10. java web start 参数_学习笔记(二)Eclipse设置 Servlet配置及初始化参数读取 及Servlet应用...
  11. 开发国信股票自动交易软件
  12. 一文了解LD7537RGL
  13. 宝塔面板FTP存储空间无法连接的问题
  14. 达梦8基础对象操作管理
  15. 一套键鼠控制多台电脑操作——Synergy软件(windows环境)
  16. Flask学习推荐站
  17. 微信王者有ios的服务器吗,王者IOS微信区国服瑶多有钱?凌晨撒4W红包,点开头像傻眼...
  18. 河南漯河警方承认交警代司机交罚款有错-罚款-交警罚款
  19. Eclipse工具工作环境配置/统一风格
  20. 在线教育投融数据(2015-2020年)

热门文章

  1. python之解析csv
  2. 【FIR.im赞助】jQuery编程挑战#012:生成菜单添加和删除动画效果
  3. hdu 1004(排序+统计)
  4. 借助Sigar API获取内存信息
  5. springmvc或者springboot 中实现跨域的5种方式
  6. Less/Sass 定制私人常用方法库
  7. JavaScript之爆肝汇总【万字长文❤值得收藏】
  8. __VA_ARGS__和##__VA_ARGS__的区别(转载)
  9. CentOS安装MySQL及其使用(总结整理)
  10. c++ Protobuf中set_allocated引起的double free core dump