题目介绍

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

不要使用额外的数组空间,你必须在原地修改输入数组并在使用 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. ACM HDU 1249
  2. java设计模式-代理模式初探
  3. 区块链BaaS云服务(33)印度国家支付 Vajra Platform“特性”
  4. windows与虚拟机的linux共享一个文件夹
  5. MVC之ActionFilterAttribute自定义属性
  6. Nacos自定义 namespace与group配置
  7. 虚拟机安装黑群晖_【群晖系统】HEI群辉DSM 6.2.1 系统安装图文教程 (19年2月)
  8. Mysql优化-大数据量下的分页策略
  9. 算法导论 练习14.1-7
  10. XidianOJ 1175: count
  11. 方阵的迹(trace)及其微分(导数)
  12. 9.7英寸 IPS 屏平板 选购
  13. 一个比较完整的pytorch项目
  14. 散射回波仿真Matlab,基于matlab的体目标回波模拟方法与流程
  15. 文件夹同步/备份软件推荐 (SyncToy/FreeFileSync/Compare Advance/Good Sync/Allway Sync)
  16. 经典脑成像研究的元分析示例(决策篇)
  17. 微信商户收款码在哪里下载 -PC端
  18. 京东云修改Hostname,Centos7修改Hostname
  19. Elasticsearch5基于completion suggester实现提示词(类京东淘宝)
  20. Object.assign与vue $set

热门文章

  1. Webpack 2 视频教程 020 - Webpack 2 中的 HMR ( Hot Module Replacement )
  2. ESLint 规则详解(二)
  3. VBA基础知识———常用语句
  4. 【推荐】DBA必须了解的11g中的一些变化
  5. 查看和修改MySQL数据库表存储引擎
  6. SOLID原则(转载)
  7. linux测试at命令,linux at命令:(定时执行脚本)
  8. 微信小程序获取当前地理位置中文_微信小程序获取位置信息
  9. abaqus帮助文档_Abaqus 屈曲特征值求解 非线性屈曲分析
  10. 前端js-angluar定时刷新器