Lemonade Change Solution Leetcode


Сатҳи душворӣ осон
Аксар вақт пурсида мешавад Amazon Atlassian
Хасис LeetCode

Ин паём дар бораи Lemonade Change Leetcode Solution аст

Изҳороти мушкилот

Дар мушкилот ”Тағироти лимонад” мавҷуд аст навбат муштариён. Онҳо мехоҳанд лимонадро аз мо бихаранд, ки 5 рупия арзиш дорад. Мизоҷон метавонанд ба мо 5 рупия, 10 рупия ё 20 рупия диҳанд. Мо мехоҳем миқдори дурусти тағиротро ба муштариён баргардонем. Дар аввал, мо ягон тағйирот надорем. Мо бояд ҷавоб диҳем, ки оё мо метавонем миқдори дурусти тағиротро ба ҳар як муштарӣ бомуваффақият баргардонем ё не.

мисол

 bills = [5,5,5,10,20]
true

Шарҳ:

Lemonade Change Solution Leetcode

Дар се амалиёти ибтидоӣ, мо набояд ягон тағйирот диҳем. Пас аз се амалиёт мо се тангаи 5 рупия дорем. Ҳангоми муомилоти чорум, мо бояд 5 рупияро баргардонем. Пас, пас аз амалиёти чорум, мо 2 тангаи 5 рупия ва як тангаи 10 рупия дорем. Дар амалиёти панҷум, мо бояд 15 рупияро баргардонем. Мо метавонем як даҳ танга ва як панҷ танга танга баргардонем. Тавре ки ҳамаи амалиётҳо ба итмом мерасанд, ҷавоб дуруст аст.

усул

Ин як мушкили татбиқ бо истифодаи алгоритми чашмгурусна аст. Азбаски арзишҳое, ки дар массив дода шудаанд, як сафи муштариёнро нишон медиҳанд, аз ин рӯ, вақте ки мо массивро ҳамзамон мегузарем, мо низ амалиёт анҷом медиҳем. Дар аввал, мо ягон тағирот надорем, бинобар ин шумораи тангаҳои панҷ, даҳ ва бист рупия сифр мебошанд.

Биёед ҳар як сенарияро як ба як ҷустуҷӯ кунем:

  1. Агар муштарӣ панҷ рупия пардохт кунад, пас мо ба ӯ ҳеҷ гуна тағирот пешниҳод намекунем ва шумораи панҷ танга бо мо як тан зиёд мешавад.
  2. Биёед бигӯем, ки муштарӣ даҳ рупия пардохт мекунад, пас мо бояд ҳадди аққал як панҷ рупия дошта бошем, то ба ӯ ивази пул диҳем. Агар мо ин корро накунем, бардурӯғ бармегардем, зеро ба ҳама миқдори дурусти тағир додан ғайриимкон аст.
  3. Агар муштарӣ бист рупия пардохт кунад, мо метавонем ба ӯ бо ду тарз тағир диҳем:
    1. Агар мо даҳ танга ва панҷ танга дошта бошем, мо метавонем ба ӯ дар маҷмӯъ понздаҳ рупия баргардонем. Агар мо ноком шавем, пас мо усули дуюмро меҷӯем.
    2. Азбаски мо бояд дар маҷмӯъ понздаҳ рупияро баргардонем, мо метавонем ба ӯ се тангаи ҳар панҷ рупия диҳем. Барои ин, мо бояд ҳадди аққал 3 тангаи панҷ рупия дошта бошем. Агар мо ин корро накунем, бардурӯғ бармегардем, зеро ба ҳама миқдори дурусти тағир додан ғайриимкон аст.

Агар мо ба ҳамаи муштариён миқдори дурусти тағиротро пешниҳод карда бошем, пас мо ҳақиқатан бармегардем.

рамз

Рамзи C ++ барои Lemonade Change Leetcode Solution

#include <bits/stdc++.h> 
using namespace std; 
       bool lemonadeChange(vector<int>& bills) {
        int n=bills.size();
        int five=0,ten=0,twenty=0;
        for(int i=0;i<n;i++)
        {
            if(bills[i]==5)five++;
            else if(bills[i]==10)
            {
                ten++;
                if(five>0)five--;
                else return false;
            }   
            else 
            {
               twenty++;
                if(ten>0&&five>0){ten--;five--;}
                else if(five>2)five=five-3;
                else return false;
            }
                
        }
            return true;
    }

int main() 
{ 
 vector<int> arr = {5,5,5,10,20}; 
 cout <<boolalpha;
 cout<<lemonadeChange(arr)<<endl; 
 return 0;
}

 

true

Рамзи Java барои Lemonade Change Leetcode Solution

import java.util.Arrays; 
public class Tutorialcup {
    public static boolean lemonadeChange(int[] bills) {
                int n=bills.length;
        int five=0,ten=0,twenty=0;
        for(int i=0;i<n;i++)
        {
            if(bills[i]==5)five++;
            else if(bills[i]==10)
            {
                ten++;
                if(five>0)five--;
                else return false;
            }   
            else 
            {
               twenty++;
                if(ten>0&&five>0){ten--;five--;}
                else if(five>2)five=five-3;
                else return false;
            }
                
        }
            return true;
    }
  public static void main(String[] args) {
    int [] arr = {5,5,5,10,20}; 
    boolean ans= lemonadeChange(arr);
    System.out.println(ans);
  }
true

Таҳлили мураккабии Solution Leetcode Change Lemonade

Мураккабии вақт

Мураккабии вақти рамзи боло дар он аст Эй (н) зеро мо массиви векселҳоро танҳо як маротиба убур мекунем. Дар ин ҷо n дарозии массиви векселҳо мебошад.

Мураккабии фазо

Мураккабии фазоии рамзи дар боло зикршуда О (1) зеро мо барои нигоҳ доштани ҷавобҳо танҳо як тағирёбандаро истифода мебарем.

Адабиёт