leetcode之删除排序数组中的重复项
题目介绍
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在原地修改输入数组并在使用 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之删除排序数组中的重复项相关推荐
- C++描述 LeetCode 26. 删除排序数组中的重复项
C++描述 LeetCode 26. 删除排序数组中的重复项 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客 ...
- leetcode 26 删除排序数组中的重复项
https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素 ...
- LeetCode 80. 删除排序数组中的重复项 II
1. 题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完 ...
- LeetCode 26. 删除排序数组中的重复项
1. 题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成 ...
- LeetCode(#26)————删除排序数组中的重复项
题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. 示 ...
- 索引超出了数组界限_【每天一题】LeetCode 26. 删除排序数组中的重复项
开源地址 JiauZhang/algorithmsgithub.com 题目描述 * https://leetcode-cn.com/problems/remove-duplicates-from- ...
- Leetcode: removeDuplicates删除排序数组中的重复项
题目: 给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度.元素的 相对顺序 应该保持 一致 . 由于在某些语言中不能改变数组的长 ...
- LeetCode 26.删除排序数组中的重复项
原题 标签 : 数组 重复元素 有序 双指针 快慢指针 解题思路: 1.判断数组是否为空,为空返回0 2.我们可以放置两个指针 ,其中 k 是慢指针,用来存下所有不同的数,而 j 是快指针用来 ...
- C++ leetcode 26. 删除排序数组中的重复项 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
一.思路: nowPos当前第几个没有重复的数,count指向第nowPos+1个重复数的位置 二.C++ int removeDuplicates(vector<int>& nu ...
- LeetCode--80. 删除排序数组中的重复项Ⅱ(双指针,暴力)
删除排序数组中的重复项Ⅱ(C,Python) 1. 题目描述 2. 题目分析 3. C语言实现 4. Python实现 1. 题目描述 难度:中等 2. 题目分析 这道题是LeetCode–26. 删 ...
最新文章
- ACM HDU 1249
- java设计模式-代理模式初探
- 区块链BaaS云服务(33)印度国家支付 Vajra Platform“特性”
- windows与虚拟机的linux共享一个文件夹
- MVC之ActionFilterAttribute自定义属性
- Nacos自定义 namespace与group配置
- 虚拟机安装黑群晖_【群晖系统】HEI群辉DSM 6.2.1 系统安装图文教程 (19年2月)
- Mysql优化-大数据量下的分页策略
- 算法导论 练习14.1-7
- XidianOJ 1175: count
- 方阵的迹(trace)及其微分(导数)
- 9.7英寸 IPS 屏平板 选购
- 一个比较完整的pytorch项目
- 散射回波仿真Matlab,基于matlab的体目标回波模拟方法与流程
- 文件夹同步/备份软件推荐 (SyncToy/FreeFileSync/Compare Advance/Good Sync/Allway Sync)
- 经典脑成像研究的元分析示例(决策篇)
- 微信商户收款码在哪里下载 -PC端
- 京东云修改Hostname,Centos7修改Hostname
- Elasticsearch5基于completion suggester实现提示词(类京东淘宝)
- Object.assign与vue $set
热门文章
- Webpack 2 视频教程 020 - Webpack 2 中的 HMR ( Hot Module Replacement )
- ESLint 规则详解(二)
- VBA基础知识———常用语句
- 【推荐】DBA必须了解的11g中的一些变化
- 查看和修改MySQL数据库表存储引擎
- SOLID原则(转载)
- linux测试at命令,linux at命令:(定时执行脚本)
- 微信小程序获取当前地理位置中文_微信小程序获取位置信息
- abaqus帮助文档_Abaqus 屈曲特征值求解 非线性屈曲分析
- 前端js-angluar定时刷新器