美文网首页
力扣-[简单]1603.设计一个停车系统

力扣-[简单]1603.设计一个停车系统

作者: _孙行者_ | 来源:发表于2021-03-19 10:04 被阅读0次

题面:

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

请你实现 ParkingSystem 类:

  • ParkingSystem(int big, int medium, int small) 初始化 ParkingSystem 类,三个参数分别对应每种停车位的数目。
  • bool addCar(int carType) 检查是否有 carType 对应的停车位。 carType 有三种类型:大,中,小,分别用数字 123 表示。一辆车只能停在 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 ,因为没有空的大车位,唯一一个大车位已经被占据了

提示:

  • 0 <= big, medium, small <= 1000
  • carType 取值为 123
  • 最多会调用 addCar 函数 1000

思路:

这个初看是真的简单. 想法也很直接 , 三个变量 , 直接减减扣就完了.

解法

1. 简单直接

class ParkingSystem {
    private int big;
    private int medium;
    private int small;


    public ParkingSystem(int big, int medium, int small) {
        this.big = big;
        this.medium = medium;
        this.small = small;
    }
    
    public boolean addCar(int carType) {
        switch(carType){
            case 1:
                if(this.big <= 0){
                    return false;
                }else{
                    this.big = this.big - 1;
                }
                break;
            case 2:
                if(this.medium <= 0){
                    return false;
                }else{
                    this.medium = this.medium - 1;
                }
                break;
            case 3:
            default:
                if(this.small <= 0){
                    return false;
                }else{
                    this.small = this.small - 1;
                }
                break;
        }
        return true;
    }
}

/**
 * Your ParkingSystem object will be instantiated and called as such:
 * ParkingSystem obj = new ParkingSystem(big, medium, small);
 * boolean param_1 = obj.addCar(carType);
 */

然后还一下子想不出来有啥其他方式.... 有什么数据结构能承载变量存储和计算吗?

相关文章

  • 力扣-[简单]1603.设计一个停车系统

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

  • Leetcode 设计停车系统

    题目描述 leecode第1603题:设计停车系统[https://leetcode-cn.com/problem...

  • LeetCode 设计停车系统

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

  • 《幸福脑》想法切换器

    4号脑区:扣带回系统——想法切换器 扣带回系统的功能:注意力转移的能力,认知弹性,适应能力,从一个想法转...

  • 20190529 设计系统(人性如水,制度如渠)

    如何分钱、花钱、赚钱,看似简单,却环环相扣,任何一个环节设计不合理,都不会达到预期的目标 系统的构建,是人与人、人...

  • 设计停车场系统

    1、前言 停车场系统也是一个经典的管理系统,主体是停车场系统,input 是车辆,output 是车位。所以有一个...

  • IOS 算法(基础篇) ----- 设计停车系统

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

  • 停车场门禁管理系统选择时的4个小细节

    随着社区智能停车门禁系统的发展,停车门禁管理系统不再局限于简单的门禁和钥匙管理,而是逐步发展成为一个完整的门禁管理...

  • LeetCode 每日一题 [11] 反转链表

    LeetCode 反转链表 [简单] 反转一个单链表。 来源:力扣(LeetCode)链接:https://lee...

  • 力扣(LeetCode)简单算法

    给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [...

网友评论

      本文标题:力扣-[简单]1603.设计一个停车系统

      本文链接:https://www.haomeiwen.com/subject/vyqvcltx.html