删除数组中重复元素II
2017-06-08 21:13
141 查看
跟进“删除重复数字”:
如果可以允许出现两次重复将如何处理?
import java.util.Scanner;
/**
* 跟进“删除重复数字”:
如果可以允许出现两次重复将如何处理?
* @author Dell
*
*/
public class Test101 {
public static int removeDuplicates1(int[] a)
{
if(a.length==0) return 0;
if(a.length==1) return 1;
if(a.length==2) return 2;
int k=0;
int times=1;
for(int i=1;i<a.length;i++)
{
if(a[i]!=a[k])
{
a[++k]=a[i];
times=1;
}
else if(a[i]==a[k])
{
if(times>=2)
continue;
else
{
a[++k]=a[i];
times++;
}
}
}
/* for(int i=0;i<=k;i++)
{
System.out.print(a[i]+" ");
}*/
return k+1;
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int[] a=new int
;
for(int i=0;i<a.length;i++)
{
a[i]=sc.nextInt();
}
removeDuplicates1(a);
}
}
如果可以允许出现两次重复将如何处理?
import java.util.Scanner;
/**
* 跟进“删除重复数字”:
如果可以允许出现两次重复将如何处理?
* @author Dell
*
*/
public class Test101 {
public static int removeDuplicates1(int[] a)
{
if(a.length==0) return 0;
if(a.length==1) return 1;
if(a.length==2) return 2;
int k=0;
int times=1;
for(int i=1;i<a.length;i++)
{
if(a[i]!=a[k])
{
a[++k]=a[i];
times=1;
}
else if(a[i]==a[k])
{
if(times>=2)
continue;
else
{
a[++k]=a[i];
times++;
}
}
}
/* for(int i=0;i<=k;i++)
{
System.out.print(a[i]+" ");
}*/
return k+1;
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int[] a=new int
;
for(int i=0;i<a.length;i++)
{
a[i]=sc.nextInt();
}
removeDuplicates1(a);
}
}
相关文章推荐
- [Leetcode] Remove duplicates from sorted array ii 从已排序的数组中删除重复元素
- lintcode&九章算法——101. 删除有序数组里的重复元素 II ? 待解决
- LeetCode: Remove Duplicates from Sorted Array II(在排序数组中删除重复元素)
- LeetCode Remove Duplicates from Sorted Array II 删除整型数组中的重复元素并返回剩下元素个数2
- php array_flip() 删除数组重复元素
- Leetcode 最小二叉树深度和删除数组重复元素
- Java中删除数组中重复元素
- 删除有序数组中重复元素的一个非常简洁的算法
- 删除数组中的重复元素
- 删除数组中重复元素
- 删除数组中的重复元素
- java 删除数组中重复元素
- 删除有序数组中的重复元素
- 删除线性表(数组)中的重复元素
- PHP删除重复数组元素
- 探讨:java中删除数组中重复元素
- 如何删除有序数组中的重复元素
- 删除数组中重复的元素
- VB中删除数组重复元素
- 删除两个升序正数组中重复元素的C程序实现代码