代码拉取完成,页面将自动刷新
import Queue from '../data-structures/queue';
/**
* 用队列模拟击鼓传花
* @param elementsList 那些人
* @param num 到第几次淘汰
*/
export function hotPotato(elementsList: any[], num: number) {
const queue = new Queue();
const elimitatedList = [];
for (let i = 0, el = elementsList.length; i < el; i++) {
queue.enqueue(elementsList[i]);
}
while (queue.size() > 1) {
for (let i = 0; i < num; i++) { // 在num次后淘汰一人
queue.enqueue(queue.dequeue()); // 从首端取出放入尾端
}
elimitatedList.push(queue.dequeue());
}
return {
elimitated: elimitatedList, // 淘汰顺序
winner: queue.dequeue(),
};
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。