thanbaiks
Senior Member
JavaScript:
/**
* @param {number} a
* @param {number} b
* @param {number} c
* @return {string}
*/
var longestDiverseString = function (a, b, c) {
const pq = new MaxPriorityQueue();
pq.enqueue('a', a);
pq.enqueue('b', b);
pq.enqueue('c', c);
let ans = '';
while (true) {
let { element: U, priority: u } = pq.dequeue(),
{ element: V, priority: v } = pq.dequeue();
if (u > 0 && ans.slice(-2) !== U.repeat(2)) {
ans += U;
u--;
} else if (v > 0 && ans.slice(-2) !== V.repeat(2)) {
ans += V;
v--;
} else {
break;
}
pq.enqueue(U, u);
pq.enqueue(V, v);
}
return ans;
};
mà sếp come up với cái pq kiểu gì vậy, nhìn đâm zô luôn backtrack bể mẹ nó đầu 







