Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ['a', 'b', 'c', 'd', 'e']
- ['a', 'e', 'd', 'c']
- ['c', 'c', 'c', 'c']
- ['a', 'b', 'e', 'd']
- all combinations = [`aaa`, `aab`, `aac`
- `aba`, `abb`, `abc`
- `aca`, `acb`, `acc`
- `baa`, `bab`, `bac`
- `bba`, `bbb`, `bbc`
- `bca`, `bcb`, `bcc`
- `caa`, `cab`, `cac`
- `cba`, `cbb`, `cbc`
- `cca`, `ccb`, `ccc`]
- sorted combinations = [`aaa`, `aab`, `aac`
- `aab`, `abb`, `abc`
- `aac`, `abc`, `acc`
- `aab`, `abb`, `abc`
- `abb`, `bbb`, `bbc`
- `abc`, `bbc`, `bcc`
- `aac`, `abc`, `acc`
- `abc`, `bbc`, `bcc`
- `acc`, `bcc`, `ccc`]
- remove duplicates = [`aaa`, `aab`, `aac`,
- `abb`, `abc`, `acc`,
- `bbb`, `bbc`, `bcc`,
- `ccc`]
- then choose from these with equal probability of 1/10
- function generateRandomOrExtremeSet(a) {
- var n = Math.random();
- var set = [];
- if (n > 0.5)
- for (var i = 0; i < a.length; ++i)
- set[i] = a[Math.round(Math.random()*(a.length-1))];
- else {
- var index = Math.round(Math.random() * (a.length-1));
- for (var i = 0; i < a.length; ++i) {
- if (Math.random() > 0.8) // change to adjust extremeness
- set[i] = a[Math.round(Math.random()*(a.length-1))];
- else
- set[i] = a[index];
- }
- }
- return set;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement