听峰问雨 听峰问雨
首页
导航站
  • 编程语言

    • Python
  • 数据结构与算法
  • 设计模式
  • UVA
  • LeetCode
  • 《Go语言实战》
  • 《Go Web编程》
  • 《算法精粹 经典计算机科学问题的Python实现》
  • 学习
  • 博客搭建
  • 本站

    • 分类
    • 标签
    • 归档
  • 我的

    • 收藏
    • 关于
GitHub (opens new window)

zfprotectors

默默学习er
首页
导航站
  • 编程语言

    • Python
  • 数据结构与算法
  • 设计模式
  • UVA
  • LeetCode
  • 《Go语言实战》
  • 《Go Web编程》
  • 《算法精粹 经典计算机科学问题的Python实现》
  • 学习
  • 博客搭建
  • 本站

    • 分类
    • 标签
    • 归档
  • 我的

    • 收藏
    • 关于
GitHub (opens new window)
  • UVA

  • LeetCode

    • LeetCode1 - 两数之和
    • LeetCode53 - 最大子数组和
    • LeetCode88 - 合并两个有序数组
    • LeetCode217 - 存在重复元素
    • LeetCode1108 - IP地址无效化
    • LeetCode1290 - 二进制链表转整数
    • LeetCode1603 - 设计停车系统
      • 问题
      • 题解
      • 代码
  • ACM
  • LeetCode
zfprotectors
2022-06-21
目录

LeetCode1603 - 设计停车系统

# 问题

请你给一个停车场设计一个停车系统。停车场总共有三种不同大小的车位:大,中和小,每种尺寸分别有固定数目的车位。

请你实现 ParkingSystem 类:

  • ParkingSystem(int big, int medium, int small) 初始化 ParkingSystem 类,三个参数分别对应每种停车位的数目。
  • bool addCar(int carType) 检查是否有 carType 对应的停车位。 carType 有三种类型:大,中,小,分别用数字1,2 和3表示。一辆车只能停在carType对应尺寸的停车位中。如果没有空车位,请返回false,否则将该车停入车位并返回true。

示例 1:

输入:

["ParkingSystem", "addCar", "addCar", "addCar", "addCar"]

[[1, 1, 0], [1], [2], [3], [1]]

输出:

[null, true, true, false, false]

解释:

ParkingSystem parkingSystem = new ParkingSystem(1, 1, 0);

parkingSystem.addCar(1); // 返回 true ,因为有 1 个空的大车位

parkingSystem.addCar(2); // 返回 true ,因为有 1 个空的中车位

parkingSystem.addCar(3); // 返回 false ,因为没有空的小车位

parkingSystem.addCar(1); // 返回 false ,因为没有空的大车位,唯一一个大车位已经被占据了

# 题解

判断是否有车位:

  • 无车位,返回False
  • 有车位,车位数-1,返回True

# 代码

class ParkingSystem:
    def __init__(self, big: int, medium: int, small: int):
        self.park = {
            1: big,
            2: medium,
            3: small
        }
    def addCar(self, carType: int) -> bool:
        if self.park[carType] < 1:
            return False
        else:
            self.park[carType] -= 1
            return True
1
2
3
4
5
6
7
8
9
10
11
12
13
编辑 (opens new window)
LeetCode1290 - 二进制链表转整数

← LeetCode1290 - 二进制链表转整数

最近更新
01
LeetCode88 - 合并两个有序数组
06-22
02
LeetCode1 - 两数之和
06-22
03
LeetCode53 - 最大子数组和
06-21
更多文章>
Theme by Vdoing | Copyright © 2021-2022 zfprotectors | 闽ICP备2021014222号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式