javascript 实现类似超市排队结账算法,求最少时间

来源:互联网 发布:淘宝新建员工 编辑:程序博客网 时间:2024/05/17 07:44

今天在codewars上做的一道题,这里记录下来。省的自己忘了。好记性不如我的烂博客

下面来说明一下题目:
完成一个函数, function queueTime(customers, n) {},返回最少时间
参数1(customers):数字数组,每一个数字代表结账所用的时间
参数2(n): 有几个结账的窗口
下面开动你聪明的大脑来想想怎实现吧。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
直接上代码

function queueTime(customers, n) {   var arr=new Array(n).fill(0);   for(var item of customers){     var minValue=arr.indexOf(Math.min.apply(Math, arr));     arr[minValue]+=item;   }   return Math.max(...arr); //es6写法} var value= queueTime([2, 2, 3, 3, 4, 4], 2);//9

看到代码后是不是豁然开朗
1、首先创建一个临时数组arr。长度为n
2、遍历参数1,然后在临时arr中找到当前最小值的index
3、将当前遍历的值加到index的值中

0 0
原创粉丝点击