【发布时间】:2021-12-15 18:37:54
【问题描述】:
`
import java.util.Scanner;
public class duplicateValue {
public static void reverse(int[] a)
{
for(int i=0;i<a.length;i++)
{
{
for(int j=i+1;j<a.length;j++)
if((a[i]==a[j]))
{
System.out.println(a[i]+" is duplicated");
}
}
}
}
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
System.out.println("enter the size of array");
int n=sc.nextInt();
System.out.println("enter the "+n+"no. of elements");
int[] a=new int[n];
for(int i=0;i<n;i++)
{
a[i]=sc.nextInt();
}
reverse(a);
}
}`
我的示例输入是:1 2 2 2 3 我得到像这样的输出 2 重复 2 重复 2 重复
我需要唯一的重复输出怎么做。
【问题讨论】:
-
尝试使用
Set。 -
是不是不能通过修改这段代码得到
-
可以,但是效率很低。
-
那么你能在上面的代码中建议如何做到这一点...
-
我能想到的唯一方法是创建一个额外的数组,对于您找到的每个重复项,如果该数组尚未包含它(没有重复项),请将其添加到该数组中。跨度>