如何找到数组元素之间明显的成对差异?

问题描述

我正在尝试减少发现数组元素之间明显区别的函数的时间复杂度。 我在Java中尝试过

`public static ArrayList<Integer>lis=new ArrayList();
public static void diff(int arr[]){
    int n=arr.length;
    for(int i=0;i<n;i++){
        for(int j=i+1;j<n;j++){
            int a=arr[i]=arr[j];
            if(lis.contains(a))continue;
            lis.add(a);
        }
    }
    
}`

在这种情况下,由于for循环,其时间复杂度为n ^ 2,如果在数组列表末尾有k个整数 是(n ^ 2)+(k ^ 2)。

有人可以提出更好的方法吗? 预先感谢:)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)