zoukankan      html  css  js  c++  java
  • 【Kata Daily 190909】The Supermarket Queue(超市队列)

    题目:

    There is a queue for the self-checkout tills at the supermarket. Your task is write a function to calculate the total time required for all the customers to check out!

    input

    • customers: an array of positive integers representing the queue. Each integer represents a customer, and its value is the amount of time they require to check out.
    • n: a positive integer, the number of checkout tills.

    output

    The function should return an integer, the total time required.


    Important

    Please look at the examples and clarifications below, to ensure you understand the task correctly :)


    Examples

    queue_time([5,3,4], 1)
    # should return 12
    # because when n=1, the total time is just the sum of the times
    
    queue_time([10,2,3,3], 2)
    # should return 10
    # because here n=2 and the 2nd, 3rd, and 4th people in the 
    # queue finish before the 1st person has finished.
    
    queue_time([2,3,10], 2)
    # should return 12

    Clarifications

    • There is only ONE queue serving many tills, and
    • The order of the queue NEVER changes, and
    • The front person in the queue (i.e. the first element in the array/list) proceeds to a till as soon as it becomes free.

    N.B. You should assume that all the test input will be valid, as specified above.

    ---------------------------------------------------------------------------------------------------------------------------

    题目大意:有客户队列customer和收银机器n,你要算出最少的时间

    解题方法:

    看一下网友的解题算法:

    def queue_time(customers, n):
        l = [0]*n
        for i in customers:
            l[l.index(min(l))] += i
        return max(l)

    解读:根据n的大小造出l的长度,找出l中最小的那个的索引,让此值加i

    还有另外一种:

    def queue_time(customers, n):
        qn = [0] * n
        for c in customers:
            qn = sorted(qn)
            qn[0] += c
        return max(qn)

     

    知识点:

    1、快速建立一个指定长度的list,L = [0]*n。

    2、sort()和sorted()的区别:

      sort()是作用于list上面,是在原来list上进行操作修改,用法是:L.sort()。sorted是作用于一个可迭代对象,返回来的是一个新的对象,用法是:sorted(iterable)。

    3、找出某个值所在的索引。使用L.index(n),找出n在L中的索引。

  • 相关阅读:
    jvm类加载机制
    线程误区-join,wait(里边还是调用的wait)
    线程间通信wait和notify【All】简介
    指令重排序
    window.opener
    scrollIntoView()
    保持饥饿,保持愚蠢
    执行sql语句,不依靠实体 获取string值
    join函数详解
    html常用代码大全
  • 原文地址:https://www.cnblogs.com/bcaixl/p/11491813.html
Copyright © 2011-2022 走看看