问题描述
我正在尝试减少发现数组元素之间明显区别的函数的时间复杂度。 我在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 (将#修改为@)