• 1338. 停车困境


    1338. 停车困境

    中文English

    停车场里停着许多汽车。 停车位是一条很长的直线,每米都有一个停车位。 当前很多汽车停放,您想通过建造屋顶来遮雨挡雨。 要求至少有k辆车的车顶被车顶遮盖,要覆盖k辆车的车顶的最小长度是多少?
    该函数具有以下参数:

    • cars:长度的整数数组,表示停放汽车的停车位
    • k:整数,表示必须被车顶遮盖的汽车数量

    样例

    示例:
    输入:
    cars: [2, 10, 8, 17]
    k: 3
    输出: 9
    解释:您可以建立长度为9的屋顶,覆盖从第2个到第10个的所有停车位,因此在第2、10、8个位置覆盖3辆车,没有较短的可以覆盖3辆车的车顶,所以答案是 9
    

    注意事项

    • 1 <= n <= 10^5
    • 1 <= k <= n
    • 0 <= cars[i] <= 10^14
    • 所有车位上面的车都是唯一的
    输入测试数据 (每行一个参数)如何理解测试数据?
    class Solution:
        """
        @param cars:  integer array of length denoting the parking slots where cars are parked
        @param k: integer denoting the number of cars that have to be covered by the roof
        @return: return the minium length of the roof that would cover k cars
        """
        '''
        1.首先进行排序,然后跟进k进行切割多少位,初始化res = [],给出所有的末位-初位+1,append到res里面,最后返回最小值即可。
        '''
        def ParkingDilemma(self,cars,k):
            cars.sort()
            if len(cars) == k:
                return cars[-1] - cars[0] + 1
            res = []
            for i in range(len(cars)-k):
                res.append(cars[i:i+k][-1]-cars[i:i+k][0]+1)
            return min(res)
  • 相关阅读:
    ASP获取客户端硬件信息(CPU、硬盘、主板、mac地址等)
    Java(多态)动手动脑
    每周进度条(第二周)
    Java(异常处理)动手动脑
    软件工程概论课后作业1
    mysqlmmm官方安装指南翻译
    Mysql 字符集的修改步骤
    Amoeba搞定mysql主从读写分离
    邮件系统postfix安装和设置
    mysqlmmm实现mysql高可用
  • 原文地址:https://www.cnblogs.com/yunxintryyoubest/p/12729454.html
Copyright © 2020-2023  润新知