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. 删 ...
最新文章
- etcd 笔记(01)— etcd 简介、特点、应用场景、常用术语、分布式 CAP 理论、分布式原理
- 就算是戴上口罩,AI也知道你在说什么丨EMNLP 2020最佳论文
- wxWidgets学习 (1) -- Hello World 详解
- visual studio 2008快捷键大全 收藏
- 【题目分析】1059 Prime Factors (25 分)
- 请求zabbix_快速部署zabbix
- 拳王虚拟项目公社:小投资虚拟创业副业项目?零成本投资网赚项目
- weblogic8.1在myeclipse中启动正常,在单独的weblogic中无法正常启动的解决方案.
- Akka定义Actors和消息《two》译
- java web start 参数_学习笔记(二)Eclipse设置 Servlet配置及初始化参数读取 及Servlet应用...
- 开发国信股票自动交易软件
- 一文了解LD7537RGL
- 宝塔面板FTP存储空间无法连接的问题
- 达梦8基础对象操作管理
- 一套键鼠控制多台电脑操作——Synergy软件(windows环境)
- Flask学习推荐站
- 微信王者有ios的服务器吗,王者IOS微信区国服瑶多有钱?凌晨撒4W红包,点开头像傻眼...
- 河南漯河警方承认交警代司机交罚款有错-罚款-交警罚款
- Eclipse工具工作环境配置/统一风格
- 在线教育投融数据(2015-2020年)
热门文章
- python之解析csv
- 【FIR.im赞助】jQuery编程挑战#012:生成菜单添加和删除动画效果
- hdu 1004(排序+统计)
- 借助Sigar API获取内存信息
- springmvc或者springboot 中实现跨域的5种方式
- Less/Sass 定制私人常用方法库
- JavaScript之爆肝汇总【万字长文❤值得收藏】
- __VA_ARGS__和##__VA_ARGS__的区别(转载)
- CentOS安装MySQL及其使用(总结整理)
- c++ Protobuf中set_allocated引起的double free core dump