本文主要是介绍js版 购买通行证 亚历克斯计划参观博物馆,并在柜台上购买通行证。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
// 购买通行证function purchasePass(queue, position){let time = 0;function _purchasePass(queue, position){queue[0] -= 1; //排在最前面的人购买一张票time += 1; //消耗一小时if(queue[0] === 0){ //判断此人是否完成自身购得票数的期望呢?// 如果此人是亚力克斯,则游戏结束if(position <= 0){return time; //返回亚力克斯买完所需要的票,消耗的时间}// 此人不是亚力克斯queue.splice(0, 1); //买完了自身所有的票数,离开买票队列position-- //亚力克斯进一位}else{if(position !== 0){ //排在最前面的人是否是亚力克斯position-- //别人买完票,重新排队,亚力克斯进一位// 没有买完自身所有的票数,重新排队const temp = queue.splice(0, 1);queue.push(...temp);}else{// 没有买完自身所有的票数,重新排队const temp = queue.splice(0, 1);queue.push(...temp)position = queue.length - 1 //更新亚力克斯在数组中的位置,亚力克斯买完票,重新排队}}return _purchasePass(queue, position)} return _purchasePass(queue, position)}console.log(purchasePass([1, 2, 5], 1)) //4console.log(purchasePass([3, 2, 1], 0)) //5
这篇关于js版 购买通行证 亚历克斯计划参观博物馆,并在柜台上购买通行证。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!