Advertisement
Guest User

Untitled

a guest
Mar 30th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. ['a', 'b', 'c', 'd', 'e']
  2.  
  3. ['a', 'e', 'd', 'c']
  4.  
  5. ['c', 'c', 'c', 'c']
  6.  
  7. ['a', 'b', 'e', 'd']
  8.  
  9. all combinations = [`aaa`, `aab`, `aac`
  10. `aba`, `abb`, `abc`
  11. `aca`, `acb`, `acc`
  12. `baa`, `bab`, `bac`
  13. `bba`, `bbb`, `bbc`
  14. `bca`, `bcb`, `bcc`
  15. `caa`, `cab`, `cac`
  16. `cba`, `cbb`, `cbc`
  17. `cca`, `ccb`, `ccc`]
  18.  
  19. sorted combinations = [`aaa`, `aab`, `aac`
  20. `aab`, `abb`, `abc`
  21. `aac`, `abc`, `acc`
  22. `aab`, `abb`, `abc`
  23. `abb`, `bbb`, `bbc`
  24. `abc`, `bbc`, `bcc`
  25. `aac`, `abc`, `acc`
  26. `abc`, `bbc`, `bcc`
  27. `acc`, `bcc`, `ccc`]
  28.  
  29. remove duplicates = [`aaa`, `aab`, `aac`,
  30. `abb`, `abc`, `acc`,
  31. `bbb`, `bbc`, `bcc`,
  32. `ccc`]
  33.  
  34. then choose from these with equal probability of 1/10
  35.  
  36. function generateRandomOrExtremeSet(a) {
  37. var n = Math.random();
  38. var set = [];
  39. if (n > 0.5)
  40. for (var i = 0; i < a.length; ++i)
  41. set[i] = a[Math.round(Math.random()*(a.length-1))];
  42. else {
  43. var index = Math.round(Math.random() * (a.length-1));
  44. for (var i = 0; i < a.length; ++i) {
  45. if (Math.random() > 0.8) // change to adjust extremeness
  46. set[i] = a[Math.round(Math.random()*(a.length-1))];
  47. else
  48. set[i] = a[index];
  49. }
  50. }
  51. return set;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement