【发布时间】:2016-11-13 14:40:29
【问题描述】:
我有一个值表,我需要比较所有这些值。问题是,我不想两次比较相同的值(例如,循环比较值 1 - 2、1 - 3、2 - 1 和 2 - 1 与 1 - 2 相同)。我在一个看起来像这样的循环内写了一个循环:
for (int i = 0; i < numberOfSets; i++) {
for (int j = 1; j < numberOfSets; j++) {
//compare element i and j here
}
}
但是我怎样才能修改这个循环来跳过重复呢?到目前为止,我尝试的是在 i == j 时增加 j:
for (int i = 0; i < numberOfSets; i++) {
for (int j = 1; j < numberOfSets; j++) {
if(i == j) {
j++;
} else {
//compare element i and j
}
}
}
但它似乎无法正常工作。有没有更好的方法来循环我想要的方式?
【问题讨论】:
-
从
i开始j而不是 0。 -
从 i+1 开始内循环
标签: algorithm loops combinations variations