پارڪنگ جو نظام ليٽ ڪوڊ حل


تڪليف جي سطح آسان
بار بار پڇڻ ۾ Amazon
ڊيزائن

مسئلي جو بيان

انهي مسئلي ۾ ، اسان کي پارڪنگ جي جڳهه ٺاهي. اسان وٽ 3 قسم جي پارڪنگ جي جڳهه آهي (وڏي ، وچولي ۽ نن )ي). هنن سڀني پارڪنگ جي جڳهن ۾ ڪجهه خالي خالي جڳهن جو مقرر ٿيل تعداد آهي.
وانگر ، وڏي قسم جي جڳھ ۾ ، اسان گھڻن بي ڪارن تي رکون ٿا. نن typeڙي قسم جي جڳهن ۾ ، اسان گهڻو ڪري ڪارن تي رکون ٿا ۽ وچولي قسم واري جڳهه ۾ ، اسين ايم ڪارون رکي سگھون ٿا.

اسان کي ڏنل درجي جي تعمير ۾ اسان کي b ، s ۽ m (ٽنهي جڳهن جي وڌ ۾ وڌ حد) ڏني وڃي ٿي. هاڻ ، اسان کي انهن هنڌن تي ڪجهه گاڏيون رکجن ٿيون. ڪارون پڻ ٽن قسمن جا آھن نن smallا نن andا ۽ وچولي. ۽ انهن کي صرف پنهنجي نيڪالي واري پارڪنگ جاءِ ۾ رکيو وڃي ٿو. نن smallي ڪار وانگر فقط نن parkingي پارڪنگ جي جاءِ ۾ رکي سگهجي ٿي.

اسان کي اهو ڳولڻو پوندو ته اسان اهي ڪارون رکي سگھون ٿا يا نه. هن مقصد لاءِ اسان کي هڪ فنڪشن addCar (int type) ٺاهڻو آهي جيڪا سچو موٽندي جيڪڏهن هن قسم جي ڪار رکي سگهجي ٿي يا نه ته اها غلط موٽندي.

پارڪنگ جو نظام ليٽ ڪوڊ حل

مثال

["ParkingSystem", "addCar", "addCar", "addCar", "addCar"]
[[1, 1, 0], [1], [2], [3], [1]]
[null, true, true, false, false]

وضاحت:

1. پارڪنگ سسٽم.ڊڊ ڪار (1) ؛ // واپسي صحيح آهي ڇاڪاڻ ته هڪ وڏي ڪار لاءِ 1 دستياب سلاٽ آهي
2. پارڪنگ سسٽم. ايڊ ڪار (2) ؛ // واپسي صحيح آهي ڇاڪاڻ ته هڪ وچولي ڪار لاءِ 1 دستياب سلاٽ آهي
3. پارڪنگ سسٽم.سڊ ڪار (3) ؛ // غلط واپسي ڇاڪاڻ ته نن smallي ڪار لاءِ هتي موجود سلاٽ نه آهي
4. پارڪنگ سسٽم.ڊڊ ڪار (1) ؛ // غلط واپسي ڇاڪاڻ ته وڏي ڪار لاءِ سلاٽ موجود ناهي. اهو پهريان ئي قبضو آهي.

چرچو

اسان کي هتي ٻه ڪم ڪرڻا آهن. هڪ کي ڏنل قيمتن کي استعمال ڪرڻ آهي ٺاهيندڙ. فنڪشن addCar () ٺاهڻ آهي.
هاڻ سوچيو ته جيڪڏهن اسان وٽ هڪڙي وڏي پارڪنگ واري جاءِ جي خالي جڳهه آهي ۽ اسان کي انهي ۾ هڪ وڏي ڪار رکڻي آهي. بس ، اسان هن ڪار کي رکنداسين ۽ خالي جاءِ dropsوٽو بي 1 ڏانهن ڇڏينداسين.
ڇا ٿيندو جيڪڏهن اسان وٽ وڏين گاڏين لاءِ خالي جڳهه نه هوندي؟ يعني جڏهن b = 0 ، اسان ڪا به وڏي ڪار نٿا رکي سگھون.

اسان جو دستور ساڳيو ئي ڪري رهيو آهي. هر پارڪنگ سلاٽ جي خالي جڳهن جو تعداد ڏيکارڻ لاءِ ، اسان ڏنل طبقي ۾ ٽي گلوبل تغيرات ٺاهي ڇڏيا آهن (وڏي ، نن bigي ۽ وچولي کي ڏيو) اسان تعمير ڪندڙ ۾ ڏنل قدر سان انهن جا قدر ابتدا ڪري رهيا آهيون.
هاڻي ، اسان شامل ڪري سگھوٿا addCar () درخواست.

ڪار جي ٽائيپ واري قسم جڏهن به ايندي ، اسان لاڳاپيل پارڪنگ سلاٽ ۾ گهڻن نمبرن جي چڪاس ڪندا سين. جيڪڏهن اسپاءِ جو تعداد 0 هوندو ته اسان اهو ڪار رکي نٿا سگھون. تنهن ڪري اسين غلط موٽي ڏينداسين. ٻي صورت ۾ اسان هن ڪار کي رکنداسين ۽ 1 جي قسم جي جڳهه کي گھٽائي ڇڏينداسين ۽ سچا ٿي ويندا.

تي عملدرآمد

سي ++ پروگرام ڊيزائن پارڪنگ سسٽم ليٽ ڪوڊ جو حل

#include<iostream>
using namespace std;

class ParkingSystem {
public:
    
    int big,medium,small;
    ParkingSystem(int big1, int medium1, int small1)
    {
        big=big1;
        medium=medium1;
        small=small1;
    }
    
    bool addCar(int carType)
    {
        if(carType==1){
            if(big==0)return false;
            big--;
        }else if(carType==2){
            if(medium==0)return false;
            medium--;
            
        }else{
            if(small==0)return false;
            small--;
            
        }
        return true;
    }
};


int main()
{
        ParkingSystem obj = ParkingSystem(1,1,0);
        obj.addCar(1)?cout<<"true ":cout<<"false ";
        obj.addCar(2)?cout<<"true ":cout<<"false ";
        obj.addCar(3)?cout<<"true ":cout<<"false ";
        obj.addCar(1)?cout<<"true ":cout<<"false ";
        
        return 0;
}
true true false false

جاوا پروگرام فار ڊيزائن پارڪنگ سسٽم ليٽ ڪوڊ جو حل

import java.util.*;
import java.lang.*;

class ParkingSystem {
    int big,medium,small;
    public ParkingSystem(int big, int medium, int small) 
    {
        this.big=big;
        this.medium=medium;
        this.small=small;
    }
    
    public boolean addCar(int carType) 
    {
        if(carType==1){
            if(big==0)return false;
            big--;
        }else if(carType==2){
            if(medium==0)return false;
            medium--;
            
        }else{
            if(small==0)return false;
            small--;
            
        }
        return true;
    }
}


class Solution
{  
    public static void main(String args[])
    {
        ParkingSystem obj=new ParkingSystem(1,1,0);
        System.out.print(obj.addCar(1)+" ");
        System.out.print(obj.addCar(2)+" ");
        System.out.print(obj.addCar(3)+" ");
        System.out.print(obj.addCar(1)+" ");
    }
}
true true false false

ڊيزائن پارڪنگ سسٽم ليٽ ڪوڊ حل لاءِ پيچيدگي تجزيو

وقت جي پيچيدگي

اي (1): الگورتھم سادو آھي جيڪڏھن ٻيا ڪم. اھڙي طرح وقت جي پيچيدگي O (1) آھي.

خلائي پيچيدگي 

اي (1): وڌيڪ جڳھ استعمال نه ڪئي وئي.