-3

有人可以帮助为下面编写一个有效的java函数吗?

在不使用内部排序或重复数据删除功能的情况下,获取一个包含重复条目的数组并返回一个没有重复项的新数组。例如

deduplicate(array(2,5,10,1, “john" “andy", 5, “peter”, “andy”)) 

// 返回 2,5,10,1,“john”, “andy”, “peter”</p>

4

1 回答 1

0

从基于散列的容器开始,例如 a HashMap,对于数组中的每个元素,首先检查它是否存在于容器中,如果不存在则添加它。完成后将容器中的所有元素作为数组返回。

这将是有效的,因为每次检查元素是否在容器中都是 O(1) 并且每次插入都是 O(1)。对数组中的每个元素执行此操作是 O(n),然后在最后再次检索它们也是 O(n),因此最终得到的解决方案是 O(n)。

我把实际的实现留给你作为练习。

于 2014-06-25T20:11:43.807 回答