这是我的代码片段
import java.util.*;
public class UniqueEl
{
public static void main(String []p)
{
Scanner sc=new Scanner(System.in);
System.out.println("Enter Array size");
int size=sc.nextInt();
//boolean ischeck=true;
int flag=0,cnt=0;
int []num=new int[size];
System.out.println("Enter Array Elements");
for(int i=0;i<size;i++)
{
num[i]=sc.nextInt();
}
System.out.println("Display Array Elements");
for(int i=0;i<size;i++)
{
System.out.println("Array Elements are :-"+num[i]);
}
System.out.println("Unique elements from the array ");
for(int i=0;i<size;i++)
{
for(int j=0;j<size;j++)
{
if(i!=j)
{
if(num[i]=num[j])
{
flag=1;
}
else
{
flag=0;
break;
}
}
}
if(flag==1)
{
cnt++;
System.out.println(num[i]+" ");
}
}
}
}
在这个数组代码中,我必须打印非重复的整数值
说数组值是:-[1,1,2,3,1,2,4,5]答案应该是:-[3,4,5]即我必须打印的非重复整数值。有人能帮我解决这个问题吗
也许这会有帮助:
static int[] uniqueElementsFrom(int[] arr) {
final Map<Integer, Integer> numberOfOccurences = new HashMap<Integer, Integer>();
for (int i : arr) {
if (!numberOfOccurences.containsKey(i)) {
numberOfOccurences.put(i, 1);
} else {
numberOfOccurences.put(i, numberOfOccurences.get(i) + 1);
}
}
final Set<Integer> integers = numberOfOccurences.keySet();
List<Integer> uniques = new LinkedList<Integer>();
for (int i: integers) {
if (numberOfOccurences.get(i) == 1) {
uniques.add(i);
}
}
final int[] uniqueIntsArray = new int[uniques.size()];
for (int counter = 0; counter < uniques.size(); counter++) {
uniqueIntsArray[counter] = uniques.get(counter);
}
return uniqueIntsArray;
}
更简单的方法可能是使用Java 8的流功能来计算每个元素的外观数量,然后过滤非唯一的外观:
List<Integer> uniqueElements =
Arrays.stream(num)
.boxed()
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()))
.entrySet()
.stream()
.filter(e -> e.getValue() == 1)
.map(Map.Entry::getKey)
.collect(Collectors.toList());
使用EXOR操作。仅当重复计数为偶数且只有一个唯一编号时才有效。
public class MyClass {
public static void main (String[] args)
{
int arr[] = { 1, 2, 5, 4, 6, 8, 9, 2, 1, 4, 5, 8, 9 };
int n = arr.length;
int v = 0;
for(int i = 0 ; i< n ; i++ ){
v = v ^ arr[i]; //XOR Operation
}
System.out.print(v);
}
}
先生,我正在尝试打印数组的第0个元素,但我不能。这是我的代码 当我试图打印时,它返回空值,但当我打印时,它返回第0个元素值。请你帮我找出我的错误好吗。
问题内容: 我现在用来检查此功能的函数如下: 有用。我正在寻找的是是否有更好的方法来做到这一点。 问题答案: ECMAScript 2016 包含一种专门用于解决问题的数组方法,因此现在是首选方法。 _从2018年7月开始,如果您需要支持IE,则可以在polyfill中使用几乎所有 主流 浏览器。 编辑:请注意,如果数组中的项目是一个对象,则返回false。这是因为相似的对象是JavaScript
问题内容: 我被困在以下程序中: 我有一个输入整数数组,其中只有一个非重复数,例如{1,1,3,2,3}。输出应显示非重复元素,即2。 到目前为止,我执行了以下操作: 最好限制阵列中的解决方案。避免使用集合,地图。 问题答案: 由于几乎可以肯定这是一种学习练习,并且由于您非常接近正确完成它,因此需要进行以下更改才能使其正常工作: 将声明 __移到 外部循环 内部 -需要将标志设置为外部循环的每次迭
我有一个函数,可以为传入的用户数组(使用 RSA 算法)生成密钥对,它似乎为每个用户正确生成密钥并将它们添加到数组列表中。但是,当我尝试打印输出时,它似乎只打印最后一个元素。似乎无法弄清楚我做错了什么。 下面是生成密钥并返回数组列表的函数:-它将用户的字符串数组作为参数。 这是我如何测试它:- 我收到的输出是
有没有一种方法可以让你使用打印给定数组中的元素? 所以输出将是 或者 或
我在中有一个带有几个元素的,我正在做的是迭代并显示Array中与null不同的所有元素。 这是: 我的问题:是否可以在一行中迭代null以外的元素?