Anonymous user
Set puzzle: Difference between revisions
→{{header|Java}}: generate exactly the number of sets, not at least
(→{{header|D}}: break off findSets search when target is overshot) |
(→{{header|Java}}: generate exactly the number of sets, not at least) |
||
Line 203:
=={{header|Java}}==
<lang java>
import java.util.Collections;
import org.apache.commons.lang3.ArrayUtils;
Line 290 ⟶ 288:
Card[] cards;
Card[][] sets = new Card[target][3];
int cnt = 0;▼
Collections.shuffle(Arrays.asList(deck));
cards = ArrayUtils.subarray(deck, 0, numCards);
for (int i = 0; i < cards.length - 2; i++) {
Line 301 ⟶ 300:
if (validSet(cards[i], cards[j], cards[k])) {
sets[cnt] = new Card[]{cards[i], cards[j], cards[k]};
if (++cnt
break
}
}
Line 308 ⟶ 307:
}
}
} while (cnt != target);
Arrays.sort(cards);
|