Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. // var N = 5;
  2. // var users = [2,1,2,6,2,4,3,3];
  3. var N = 4;
  4. var users = [4,4,4,4,4];
  5.  
  6. function solution(N, users) {
  7. var tempUsersArr = users.sort(function(a, b){return a - b});
  8. var copy = tempUsersArr.slice(0);
  9. var tempArr = [];
  10. var tempLength = users.length;
  11. var tempRate = 0;
  12. var tempRateArr = [];
  13. var result = [];
  14. var allEqual = false;
  15.  
  16. for (var h = 1; h <= users.length; h++) {
  17. if (users[h] == users[0]) {
  18. allEqual = true;
  19. }
  20. };
  21.  
  22. if (allEqual == true) {
  23. for (var t = 1; t <= N; t++) {
  24. if (users[0] == N) {
  25. result.push(t);
  26. var temp = result.pop();
  27. result.unshift(temp);
  28. } else {
  29. result.push(t);
  30. }
  31. }
  32. } else {
  33. for (var i = 0; i < tempUsersArr.length; i++) {
  34.  
  35. var myCount = 0;
  36. for (var w = 0; w < copy.length ; w++) {
  37. if (tempUsersArr[i] == copy[w]) {
  38. myCount++;
  39. delete copy[w];
  40. }
  41. }
  42.  
  43. if (myCount > 0) {
  44. var a = new Object();
  45. a.value = tempUsersArr[i];
  46. a.count = myCount;
  47. tempArr.push(a);
  48. }
  49. }
  50.  
  51.  
  52. for (var j = 0; j < tempArr.length; j++) {
  53. var b = new Object();
  54. if(tempArr[j].value < N) {
  55. tempRate = tempArr[j].count / tempLength;
  56. tempLength = tempLength - tempArr[j].count;
  57.  
  58. b.stage = tempArr[j].value;
  59. b.value = tempRate;
  60. tempRateArr.push(b);
  61. }
  62. else if (tempArr[j].value == N) {
  63.  
  64. tempRate = 0;
  65. b.stage = tempArr[j].value ;
  66. b.value = tempRate;
  67. tempRateArr.push(b);
  68. }
  69.  
  70. };
  71.  
  72. tempRateArr.sort(function(a,b) {
  73. return b.value - a.value;
  74. });
  75.  
  76. for (var m = 0; m < tempRateArr.length ; m++) {
  77. result.push(tempRateArr[m].stage);
  78. };
  79.  
  80. if(result[result.length - 1] != N) {
  81. result.push(N);
  82. };
  83. }
  84.  
  85. return(result);
  86.  
  87. };
  88.  
  89. console.log(solution(N,users));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement