学渣的刷题之旅 leetcode刷题 26. 删除排序数组中的重复项
给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在 原地修改输入数组 并在使用** O(1)** 额外空间的条件下完成。
给定数组 nums = [1,1,2],
函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 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]);
}
我的c++代码
class Solution {public:int removeDuplicates(vector<int>& nums) {int result=1;if(nums.size()<2)return nums.size();for(int i=1;i<nums.size();i++){if(nums[i]==nums[i-1]){nums.erase(nums.begin()+i-1);i=i-1;continue;}result++;}return result;}
};
题干的说明其实很好理解,引用方式传递,相当于把vector的地址传进去,所以对vector内的操作就算不返回也会保留下来。
学渣的刷题之旅 leetcode刷题 26. 删除排序数组中的重复项相关推荐
- [LeetCode][Python][C#]刷题记录 26. 删除排序数组中的重复项
这道题我真的纠结好久,因为没注意那个原地的题目要求,所以很奇怪怎么我电脑运行成功,但是LeetCode上运行就是不对.气哭. 感谢群友lino的帮助.他试了set方法不行,直接喂给我的答案了... 题 ...
- C++描述 LeetCode 26. 删除排序数组中的重复项
C++描述 LeetCode 26. 删除排序数组中的重复项 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客 ...
- leetcode初级算法1.删除排序数组中的重复项
leecode初级算法1.删除排序数组中的重复项 仅为个人刷题记录,不提供解题思路 题解与收获 class Solution {public int removeDuplicates(int[] nu ...
- LeetCode 25K 个一组翻转链表26删除排序数组中的重复项
如果问题或者其他方法还请分享,如加入打卡微信搜索bigsai回复进群一起打卡. K个一组翻转链表 题目要求 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表. k 是一个正整数,它的值小 ...
- LeetCode 26.删除排序数组中的重复项
原题 标签 : 数组 重复元素 有序 双指针 快慢指针 解题思路: 1.判断数组是否为空,为空返回0 2.我们可以放置两个指针 ,其中 k 是慢指针,用来存下所有不同的数,而 j 是快指针用来 ...
- LeetCode 26. 删除排序数组中的重复项
1. 题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成 ...
- python有序数组中删除元素_python刷LeetCode:26. 删除排序数组中的重复项
题目描述: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成 ...
- LeetCode题 - 26 删除排序数组中的重复项 python实现
题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. 示 ...
- 索引超出了数组界限_【每天一题】LeetCode 26. 删除排序数组中的重复项
开源地址 JiauZhang/algorithmsgithub.com 题目描述 * https://leetcode-cn.com/problems/remove-duplicates-from- ...
最新文章
- 后处理编辑修改_NX后处理打开报错处理方法
- 0-1背包问题(物品不可分割)
- 使用TVP批量插入数据
- android 浏览指定相册,Android -- 采用系统相册浏览指定路径下照片
- 数据仓库之电商数仓-- 4、可视化报表Superset
- linux NAND驱动之三:6410平台上的NAND驱动加载
- jsp+servlet实现文件的上传和下载
- 591. 标签验证器
- JAVA数组的遍历 获取最大值最小值 数组的反转 数组的查找 练习 定义方法创建指定大小的数组,并添加指定元素 拼接两个数组
- 2022年(2023届)西电计算机保研经历分享(清深、自所、计算所、浙科南、北航、哈工等)
- c语言出现错误c1083,DES 算法,出现异常:fatal error C1083: Cannot open include file: 'des_encode.h'...
- linux系统mtd移植,文件系统 之 移植mtd-utils工具包
- 第一个报表(简单滴)
- JS/ES6-var、let、const用法与区别
- 华为虚拟化服务服务器忘记密码,华为云linux服务器 忘记密码
- java实现图片滚动_怎么用Java代码使图片自行滚动浏览
- abaqus应力值导出并进行后处理(同一节点多个应力值如何处理?)
- 单休和双休有多大区别(月薪1万和8千如何选择)
- python安装教程(Win8环境)
- 管理日常工作、生活琐事的待办事项提醒工具便签