最简单的贪心算法-最优服务次序问题

1.题目描述:

有每个客户的服务时间,请计算最短的平均等待时间。

eg:输入:[1,12,55]

输出:27.3333...2

2.问题分析:

  当服务时间最短的客户,先服务,这样的平均等待时间才最短。

(1)客户的服务时间可能是不是一个排序好的数据结构,所以,我们得先对其进行排序(从小到大);

(2)之后,就依次累加时间。

(3)最后返回平均时间:累加时间/客户的数量

3.上代码:

function MinusQueneTime(nums)
{
    var sum = 0;
    var count  =0;
    nums.sort();//得先排序,从小到大。
    for(let i = 0;i<nums.length;i++)
    {
        count+=nums[i];
        sum+=count;
    }
    return sum/nums.length;
}

4.测试代码:

var b = [55,1,12];
console.log(MinusQueneTime(b));

 

5.vscode的测试结果:

 

猜你喜欢

转载自blog.csdn.net/qq_42099097/article/details/107548837