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 删除排序数组中的重复项相关推荐

  1. C++描述 LeetCode 26. 删除排序数组中的重复项

    C++描述 LeetCode 26. 删除排序数组中的重复项   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客 ...

  2. LeetCode 26. 删除排序数组中的重复项

    1. 题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成 ...

  3. LeetCode(#26)————删除排序数组中的重复项

    题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. 示 ...

  4. 索引超出了数组界限_【每天一题】LeetCode 26. 删除排序数组中的重复项

    开源地址 JiauZhang/algorithms​github.com 题目描述 * https://leetcode-cn.com/problems/remove-duplicates-from- ...

  5. LeetCode 26.删除排序数组中的重复项

    原题 标签  : 数组  重复元素  有序  双指针 快慢指针 解题思路: 1.判断数组是否为空,为空返回0 2.我们可以放置两个指针 ,其中 k 是慢指针,用来存下所有不同的数,而 j 是快指针用来 ...

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

    一.思路: nowPos当前第几个没有重复的数,count指向第nowPos+1个重复数的位置 二.C++ int removeDuplicates(vector<int>& nu ...

  7. [LeetCode][Python][C#]刷题记录 26. 删除排序数组中的重复项

    这道题我真的纠结好久,因为没注意那个原地的题目要求,所以很奇怪怎么我电脑运行成功,但是LeetCode上运行就是不对.气哭. 感谢群友lino的帮助.他试了set方法不行,直接喂给我的答案了... 题 ...

  8. ios 数组中的字典排序_题解 | 26.删除排序数组中的重复项

    假设我们有一个传感器,会不停地向 HQ 传输已经归类好数据,数据的格式全部是数字(种类编号),且已经按照从小到大的顺序排列,大概是 [1,1,4,5,7,9] 这样的,但是我们的需求在于,希望知道有多 ...

  9. 26. 删除排序数组中的重复项 golang

    26. 删除排序数组中的重复项 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 ...

最新文章

  1. spring中的BeanFactoryPostProcessor
  2. 让Apache支持Rewrite静态页面重写的方法
  3. Notepad++中的高级查找
  4. libevent 源码阅读 Ubuntu下muduo库的安装与使用
  5. 子组件是表格时向父组件传值
  6. linux 多线程实现倒计时,Linux用脚本实现“时分秒“倒计时功能
  7. 如何从Internet Explorer或Edge迁移到Chrome(以及为什么要迁移)
  8. Java接口修饰符详解
  9. 【bzoj】 1412: [ZJOI2009]狼和羊的故事
  10. Oracle 学习笔记二 Create table
  11. 记一下这些资源,总有用的到的时候
  12. 网站使用思源黑体siyuanheiti
  13. nginx配置lua脚本
  14. 【答题助手】只用2秒!搞定百万英雄 芝士超人 冲顶大会
  15. git submodule拉取子模块最新代码
  16. nginx长连接——keepalive
  17. [个人开发者赚钱五]植入广告等获取收益
  18. 抓紧收藏,9大短视频自媒体工具,帮你快速月入过万,不真人出镜
  19. OPENWRT MWAN3 负载均衡验证
  20. PotPlayer 绿色版下载安装、直播 CCTV

热门文章

  1. C typedef功能介绍(内附函数指针和指针函数的区别)
  2. 启明云端分享|SSD20X 如何使用SD卡根文件系统
  3. java mcrypt encrypt_PHP mcrypt_encrypt加密,使用java解密
  4. 央视新闻联合百度智能云打造的首个“冬奥AI手语主播”来了
  5. php5.4 zend安装教程,linux下php5.4安装Zend Guard Loader扩展
  6. 倒出mysql库命令行_mysql命令行导入导出数据库
  7. python 分词工具训练_中文分词入门和分词工具汇总攻略
  8. oracle定时器定时删除30天前的数据_Redis的过期键删除策略
  9. jmeter接口测试多数据组合登陆场景
  10. spring-cloud-eureka服务注册与发现