比较数组元素时避免重复

时间:2015-09-09 01:10:15

标签: algorithm c++11 compare

问题是这样的:通过一个数组,找到一对加起来为k的元素。

for (auto i : array) {
   for (auto j : array) {
        if (i+j==k) {
            *Do something
        }
    }
}

假设我们有array = [1,2,5]k=3; when i=1 and j=2,我们会执行做某事。但是当i=2j=1时,我们会再次执行做某事,即使我们已经找到了2个元素,我们也会重复这个问题。

基本上,如何通过数组并避免多次比较相同的2个元素?

1 个答案:

答案 0 :(得分:-1)

您可以将i + j的结果放在vector,然后sort it然后remove duplicates,最后翻看矢量"做点什么&# 34。