当前位置: 首页 > 知识库问答 >
问题:

Java中数组的重复元素

毛声
2023-03-14

如何在Java中复制数组的元素,并按原始数组的相同顺序将它们添加到新数组中

// Pass an array of the form {4, 16, 8},
// The returned array should then contain {4, 4, 16, 16, 8, 8}.

public static int[] duplicateElements(final int[] elements){
    int duplicate = 0 ;
    int [] newArray = new int [elements.length*2];
    for(int i = 0; i < elements.length;i++) {
        newArray[i] = elements[i];  
    }
    for(int j = 0; j < newArray.length/2;j++) {
        newArray[newArray.length-j-1] = newArray[j];
        
    }
    for(int i = 0; i < (newArray.length/2) ;i++) {
        duplicate = newArray[i];
        newArray[i+1] = newArray[newArray.length-i-1];
        newArray[newArray.length-i-1] = duplicate;  
    }
    
    return newArray;
}
public static void main(String[] args) {
        
        int [] newArray = new int []{4, 16, 8};
        
        System.out.println(Arrays.toString(duplicateElements(newArray)));

    }

请解释为什么上面的代码不起作用。

我的输出是 : // [4, 4, 16, 16, 4, 4]

代替://[4,4,16,16,8,8]

共有1个答案

鄂曦之
2023-03-14

试着在纸上追踪这段代码。这应该有助于您确定您的问题所在。

 类似资料:
  • 问题内容: 我有一个整数数组,我想计算重复出现的元素。首先,我读取数组的大小,并使用从控制台读取的数字对其进行初始化。在数组中,我存储了重复的元素。该数组存储元素连续出现的次数。然后,我尝试搜索重复序列并以特定格式打印它们。但是,它不起作用。 我希望输出看起来像这样: 例如: 如何找到重复的元素及其计数?如何如上所示打印它们? 问题答案: 字典(Java中的HashMap)可以轻松解决此类问题。

  • 我需要一个函数来接收arrayList并返回一个新的arrayList,其中包含大小相同的整数。His元素将表示原始数组中索引i中的值的重复序列数(外观数)。 1单个外观也将被视为一个序列。例如:arr[1,1,0,1]- 输入:它不必是排序数组 函数示例: arr[3,0,1,2,1,1,1,3]▪×输入:(arr)▪×输出:newArray[2,1,2,1,2,2,2,2]因为'3'在序列中出

  • 问题内容: 我被困在以下程序中: 我有一个输入整数数组,其中只有一个非重复数,例如{1,1,3,2,3}。输出应显示非重复元素,即2。 到目前为止,我执行了以下操作: 最好限制阵列中的解决方案。避免使用集合,地图。 问题答案: 由于几乎可以肯定这是一种学习练习,并且由于您非常接近正确完成它,因此需要进行以下更改才能使其正常工作: 将声明 __移到 外部循环 内部 -需要将标志设置为外部循环的每次迭

  • 问题内容: 如今,在Swift中,您只需键入 以使数组唯一。(或根据需要订购)。 在此之前,它是怎么做的? 我可能有一个如下所示的数组: 或者,实际上,是数据的相似类型部分的任何序列。我要做的是确保每个相同元素中只有一个。例如,上面的数组将变为: 请注意,删除了2、6和15的重复项以确保每个相同元素中只有一个。Swift是否提供一种轻松实现此目的的方法,还是我必须自己做? 问题答案: 您可以自己滚

  • 我有数组的电子邮件和ID,所以我想删除重复的元素谁有类似的ID的。 例子: 现在我需要删除具有ID的重复元素是常见的。从某种意义上说,我期待最终的阵列是

  • 我有一个Pandas数据框架,看起来像这样(有两行的示例): 我需要将所有内容解构为单个标量列,如下所示: 我不太关心新的列名;重要的是将行排列成如上所示的平面向量。 我如何才能做到这一点?