Java:数组中的唯一项

时间:2013-03-20 22:19:50

标签: java arrays unique

我似乎无法将我的大脑包裹起来,但是我可以说我给了一个包含不同元素的数组。如果我想创建另一个只包含第一个数组中唯一元素的数组,那么如果不使用Maps,HashSets等(不从java导入任何其他内容),我将如何进行呢?

2 个答案:

答案 0 :(得分:3)

简单的强力算法。
只是(双)循环数组并检查元素是否重复。如果没有将其添加到阵列并继续。使用O(N^2)O(N)

Map复杂度而不是Set复杂度

答案 1 :(得分:0)

请不要对此进行投票,请参阅Cratylus的回答 - 或者更好的是,harpun的评论。对于O(n 2 )复杂度的解决方案,这只是一些“伪代码”


foreach element1 in array:
    duplicate = false
    foreach element2 in array:
        if element 1 == element 2:
            duplicate = true
            break // out of inner loop
    if duplicate:
       // duplicate
    else:
       // not duplicate

当然,这可以在更高的水平上更清晰地表达。 “包含”的定义应该是显而易见的。

foreach element in array:
   if contains(array, element):
       // duplicate