leetcode 26 删除排序数组中的重复项
https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在原地修改输入数组并在使用 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。
解题:使用py和Java搞定
傻瓜我想到这个
def removeDuplicates(nums):""":type nums: List[int]:rtype: int"""return len(set(nums))
连题目都没看在原地修改输入数组
思路:遍历列表 如果重复了,就将替换掉
class Solution(object):def removeDuplicates(self, nums):""":type nums: List[int]:rtype: int"""i = 0;for num in nums:if nums[i] != num:i +=1nums[i] = numreturn len(nums)
结果不行,我????
考虑数组为空的情况(i初始值为0,由于要求数组长度,故需要加1)
def removeDuplicates(nums):""":type nums: List[int]:rtype: int"""i = 0;for num in nums:if nums[i] != num:i += 1nums[i] = numelse:continue# and中含0,返回0; 均为非0时,返回后一个值,return len(nums) and i+1
- Java
class Solution {public int removeDuplicates(int[] nums) {if(nums==null || nums.length == 1){return nums.length;}// 使用双指针int i = 0;int j =1;while(j<nums.length){// 如果前面 和后面相等if(nums[i] == nums[j]){// 继续看看前面是否和后面的后面相等j++;}else{// 不相等 i++i++;// 赋值nums[i] = nums[j];// j++j++;}}// 新数组长度return i+1;}
}
leetcode 26 删除排序数组中的重复项相关推荐
- C++描述 LeetCode 26. 删除排序数组中的重复项
C++描述 LeetCode 26. 删除排序数组中的重复项 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客 ...
- LeetCode 26. 删除排序数组中的重复项
1. 题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成 ...
- LeetCode(#26)————删除排序数组中的重复项
题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. 示 ...
- 索引超出了数组界限_【每天一题】LeetCode 26. 删除排序数组中的重复项
开源地址 JiauZhang/algorithmsgithub.com 题目描述 * https://leetcode-cn.com/problems/remove-duplicates-from- ...
- LeetCode 26.删除排序数组中的重复项
原题 标签 : 数组 重复元素 有序 双指针 快慢指针 解题思路: 1.判断数组是否为空,为空返回0 2.我们可以放置两个指针 ,其中 k 是慢指针,用来存下所有不同的数,而 j 是快指针用来 ...
- C++ leetcode 26. 删除排序数组中的重复项 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
一.思路: nowPos当前第几个没有重复的数,count指向第nowPos+1个重复数的位置 二.C++ int removeDuplicates(vector<int>& nu ...
- [LeetCode][Python][C#]刷题记录 26. 删除排序数组中的重复项
这道题我真的纠结好久,因为没注意那个原地的题目要求,所以很奇怪怎么我电脑运行成功,但是LeetCode上运行就是不对.气哭. 感谢群友lino的帮助.他试了set方法不行,直接喂给我的答案了... 题 ...
- ios 数组中的字典排序_题解 | 26.删除排序数组中的重复项
假设我们有一个传感器,会不停地向 HQ 传输已经归类好数据,数据的格式全部是数字(种类编号),且已经按照从小到大的顺序排列,大概是 [1,1,4,5,7,9] 这样的,但是我们的需求在于,希望知道有多 ...
- 26. 删除排序数组中的重复项 golang
26. 删除排序数组中的重复项 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 ...
最新文章
- spring中的BeanFactoryPostProcessor
- 让Apache支持Rewrite静态页面重写的方法
- Notepad++中的高级查找
- libevent 源码阅读 Ubuntu下muduo库的安装与使用
- 子组件是表格时向父组件传值
- linux 多线程实现倒计时,Linux用脚本实现“时分秒“倒计时功能
- 如何从Internet Explorer或Edge迁移到Chrome(以及为什么要迁移)
- Java接口修饰符详解
- 【bzoj】 1412: [ZJOI2009]狼和羊的故事
- Oracle 学习笔记二 Create table
- 记一下这些资源,总有用的到的时候
- 网站使用思源黑体siyuanheiti
- nginx配置lua脚本
- 【答题助手】只用2秒!搞定百万英雄 芝士超人 冲顶大会
- git submodule拉取子模块最新代码
- nginx长连接——keepalive
- [个人开发者赚钱五]植入广告等获取收益
- 抓紧收藏,9大短视频自媒体工具,帮你快速月入过万,不真人出镜
- OPENWRT MWAN3 负载均衡验证
- PotPlayer 绿色版下载安装、直播 CCTV
热门文章
- C typedef功能介绍(内附函数指针和指针函数的区别)
- 启明云端分享|SSD20X 如何使用SD卡根文件系统
- java mcrypt encrypt_PHP mcrypt_encrypt加密,使用java解密
- 央视新闻联合百度智能云打造的首个“冬奥AI手语主播”来了
- php5.4 zend安装教程,linux下php5.4安装Zend Guard Loader扩展
- 倒出mysql库命令行_mysql命令行导入导出数据库
- python 分词工具训练_中文分词入门和分词工具汇总攻略
- oracle定时器定时删除30天前的数据_Redis的过期键删除策略
- jmeter接口测试多数据组合登陆场景
- spring-cloud-eureka服务注册与发现