【问题标题】:How to remove duplicate numbers from an array only without using any collections from java.util in java [duplicate]如何在不使用 java.util 中的任何集合的情况下仅从数组中删除重复数字 [重复]
【发布时间】:2018-04-19 14:07:19
【问题描述】:

下面的代码 sn-ps 展示了如何在不使用任何集合(如 HashSet、ArrayList 等)的情况下从数组中删除重复整数...

【问题讨论】:

    标签: java arrays


    【解决方案1】:
    public class UniqueElementinAnArray 
    {
        public static void main(String[] args) 
        {
            int[] a = {10,10,10,10,10,100};
            int[] output = new int[a.length];
            int count = 0;
            int num = 0;
    
            //Iterate over an array
            for(int i=0; i<a.length; i++)
            {
                num=a[i];
                boolean flag = check(output,num);
                if(flag==false)
                {
                    output[count]=num;
                    ++count;
                }
    
            }
    
            //print the all the elements from an array except zero's (0)
            for (int i : output) 
            {
                if(i!=0 )
                    System.out.print(i+"  ");
            }
    
        }
    
        /***
         * If a next number from an array is already exists in unique array then return true else false
         * @param arr   Unique number array. Initially this array is an empty.
         * @param num   Number to be search in unique array. Whether it is duplicate or unique.
         * @return  true: If a number is already exists in an array else false 
         */
        public static boolean check(int[] arr, int num)
        {
            boolean flag = false;
            for(int i=0;i<arr.length; i++)
            {
                if(arr[i]==num)
                {
                    flag = true;
                    break;
                }
            }
            return flag;
        }
    
    }
    

    【讨论】:

    • 我说的是不使用任何集合。请正确阅读问题。您给出了一个问题的参考,其中大多数答案都是无关紧要的。检查那些答案。我检查了这就是我添加新问题的原因。
    • 那么让我问你一个问题:你在哪里删除给定数组中的任何东西?数组保持不变...您只是在打印值。显然没有解决手头的任务
    • 先生,请使用您将看到的任何 java 编辑器执行上述代码。
    • 正式地,您正在创建一个新数组并始终检查该值是否已经存在,如果不添加该值 - 这既不是压倒性的也不是黑魔法。现在有趣的部分是:与其他方法相比,您如何衡量效率?有什么基准吗?
    • 我没有使用任何集合,所以所有数据都仅驻留在堆栈中。它提高了效率。
    猜你喜欢
    • 1970-01-01
    • 2021-11-14
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    • 2013-07-31
    相关资源
    最近更新 更多