博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Remove Duplicates from Sorted Array II leetcode java
阅读量:4641 次
发布时间:2019-06-09

本文共 791 字,大约阅读时间需要 2 分钟。

题目:

 

Follow up for "Remove Duplicates":

What if duplicates are allowed at most twice?

For example,

Given sorted array A = [1,1,1,2,2,3],

Your function should return length = 5, and A is now [1,1,2,2,3].

 

题解:

之前是不允许有重复的。

现在是可以最多允许2个一样的元素。

然后删除duplicate,返回长度。

删除duplicate的方法就是指针的操作。具体方法见代码。

 

代码如下:

 1     
public 
int removeDuplicates(
int[] A) {
 2         
if (A.length <= 2)
 3             
return A.length;
 4  
 5         
int prev = 1; 
//
 point to previous
 6 
        
int curr = 2; 
//
 point to current
 7 
 
 8         
while (curr < A.length) {
 9             
if (A[curr] == A[prev] && A[curr] == A[prev - 1]) {
10                 curr++;
11             } 
else {
12                 prev++;
13                 A[prev] = A[curr];
14                 curr++;
15             }
16         }
17  
18         
return prev + 1;
19     }

 Reference:http://www.programcreek.com/2013/01/leetcode-remove-duplicates-from-sorted-array-ii-java/

转载于:https://www.cnblogs.com/springfor/p/3889632.html

你可能感兴趣的文章
shell脚本练习01
查看>>
WPF图标拾取器
查看>>
通过取父级for循环的i来理解闭包,iife,匿名函数
查看>>
HDU 3374 String Problem
查看>>
数据集
查看>>
打印python包含汉字报SyntaxError: Non-ASCII character '\xe4' in file
查看>>
[Leetcode] unique paths ii 独特路径
查看>>
HDU 1217 Arbitrage (Floyd + SPFA判环)
查看>>
IntelliJ idea学习资源
查看>>
Django Rest Framework -解析器
查看>>
ExtJs 分组表格控件----监听
查看>>
Hibernate二级缓存配置
查看>>
LoadRunner常用术语
查看>>
关于jedis2.4以上版本的连接池配置,及工具类
查看>>
记忆讲师石伟华微信公众号2017所有文章汇总(待更新)
查看>>
mechanize (1)
查看>>
FactoryBean
查看>>
Coolite动态加载CheckboxGroup,无法在后台中获取
查看>>
如何在我们项目中利用开源的图表(js chart)
查看>>
nfs服务器工作原理
查看>>