Remove Duplicates from Sorted Array II
2016-08-30 15:58
375 查看
Follow up for “Remove Duplicates”:
What if duplicates are allowed at most twice?
For example,
Given sorted array nums = [1,1,1,2,2,3],
Your function should return length = 5, with the first five elements of nums being 1, 1, 2, 2 and 3. It doesn’t matter what you leave beyond the new length.
已排序数组,加一个变量记录下元素出现次数即可,如果是没有排序的数组,则需要引入一个hashmap来记录出现的次数。
What if duplicates are allowed at most twice?
For example,
Given sorted array nums = [1,1,1,2,2,3],
Your function should return length = 5, with the first five elements of nums being 1, 1, 2, 2 and 3. It doesn’t matter what you leave beyond the new length.
已排序数组,加一个变量记录下元素出现次数即可,如果是没有排序的数组,则需要引入一个hashmap来记录出现的次数。
C++
class Solution { public: int removeDuplicates(vector<int>& nums) { if(nums.size() <= 2) return nums.size(); int index = 2; for(int i = 2; i < nums.size(); i++) { if(nums[i] != nums[index - 2]) nums[index++] = nums[i]; } return index; } };
Java
public class Solution { public int removeDuplicates(int[] nums) { if(nums.length <= 2) return nums.length; int index = 2; for(int i = 2; i < nums.length; i++) { if(nums[i] != nums[index - 2]) nums[index++] = nums[i]; } return index; } }
Python
class Solution(object): def removeDuplicates(self, nums): """ :type nums: List[int] :rtype: int """ if len(nums) <= 2: return len(nums) index = 2 for i in range(2,len(nums)): if nums[i] != nums[index -2]: nums[index] = nums[i] index += 1 return index
相关文章推荐
- 389. Find the Difference
- transformation and action of spark
- 华为内部实施微服务架构
- 【例题】【搜索(迭代加深)】NKOJ 1628 岳麓山提水
- Oracle创建表格报ORA-00906:缺失左括号错误解决办法
- GoLang语言
- spring-boot-started-logging logback常用配置之<filter>标签详解
- leetcode:数学:Bulb Switcher(319)
- JS获取时间getTime()
- Oracle 11g sys,system 密码忘记设置解决办法
- ajax 中
- 我的第一篇CSDN博客文章
- 阿里云RDS的mysql数据库占用空间超过90%的处理
- poj2296 Map Labeler(2-sat+二分)
- goahead server Web开发一般步骤
- 信息安全基础知识
- 在ListView中嵌套ListView的事件处理
- ADB devices 连接genymotion 出错cannot bind 'tcp:5037': Address already in use
- 画虚线
- 回归问题之线性回归II