Maximum Score From Removing Stones LeetCode solution in JavaScript

1
/**
2
* @param {number} a
3
* @param {number} b
4
* @param {number} c
5
* @return {number}
6
*/
7
var maximumScore = function (a, b, c) {
8
let resultArray = [];
9
resultArray.push(a);
10
resultArray.push(b);
11
resultArray.push(c);
12
resultArray.sort((a, b) => a - b);
13
let counter = 0;
14
while (resultArray[0] > 0 || resultArray[1] > 0 || resultArray[2] > 0) {
15
if (resultArray[0] === 0 && resultArray[1] === 0) {
16
break;
17
}
18
resultArray[1]--;
19
resultArray[2]--;
20
counter++;
21
if (resultArray[1] < resultArray[0]) {
22
exchange(resultArray, 1, 0);
23
}
24
if (resultArray[2] < resultArray[0]) {
25
exchange(resultArray, 2, 0);
26
}
27
}
28
if (resultArray[0] + resultArray[1] + resultArray[2] === 0) return counter;
29
if (resultArray[0] < 0 || resultArray[1] < 0 || resultArray[2] < 0) counter--;
30
return counter;
31

32
function exchange(array, indexa, indexb) {
33
let temp = array[indexa];
34
array[indexa] = array[indexb];
35
array[indexb] = temp;
36
}
37
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0