বেলুনের সর্বাধিক সংখ্যা লেটকোড সমাধান  


কাঠিন্য মাত্রা সহজ
প্রায়শই জিজ্ঞাসা করা হয় টেসলা Wayfair
আলগোরিদিম আইনসংগ্রহ হ্যাশ সাক্ষাত্কার সাক্ষাৎকারের প্রস্তুতি লেটকোড LeetCodeSolutions স্ট্রিং

সমস্যা বিবৃতি  

এই সমস্যায়, আমাদের ছোট অক্ষরের ইংরাজীযুক্ত অক্ষরগুলির একটি স্ট্রিং দেওয়া হয়। আমাদের "শব্দটির কতগুলি উদাহরণ খুঁজে পাওয়া দরকার"বেলুন”আমরা কি প্রদত্ত স্ট্রিংয়ের অক্ষর ব্যবহার করে তৈরি করতে পারি?

উদাহরণ

String = "banooll"
1

ব্যাখ্যা:

বেলুনের সর্বাধিক সংখ্যা লেটকোড সমাধানপিন

String = baqwweeeertylln

ব্যাখ্যা: স্ট্রিংটির কোনও 'ও' নেই, তাই আমরা "বেলুন" এর একটি একক উদাহরণও তৈরি করতে পারি না। সুতরাং, আমরা 0 মুদ্রণ করি।

অভিগমন  

এটা সুস্পষ্ট যে স্ট্রিংয়ে অক্ষরের ফ্রিকোয়েন্সি আমাদের জানা দরকার যা "বেলুন" শব্দটি তৈরি করে। অর্থাৎ, 'বি', 'এ', 'এল', 'ও' এবং 'এন' অক্ষরের ফ্রিকোয়েন্সিগুলি সংরক্ষণ করা আমাদের জন্য কেবল "বেলুন" স্ট্রিং হিসাবে তৈরি করা গুরুত্বপূর্ণ। তারপরে, সম্ভাব্য শব্দের উদাহরণগুলির সংখ্যা নির্ধারণ করার জন্য আমরা ন্যূনতম গণনা সহ চিঠিটি পেতে পারি। এটি একটি সাধারণ উদাহরণ হ্যাশ তাদের ফ্রিকোয়েন্সি সহ অক্ষর। নোট করুন যে আমাদের বিবেচনা করা দরকার যে 'l' এবং 'o' অক্ষরের ফ্রিকোয়েন্সিগুলির কেবলমাত্র অর্ধেকই একটি শব্দ তৈরি করতে ব্যবহৃত হতে পারে। এই ক্ষেত্রে সাধারণকরণের জন্য, আমরা আগে থেকেই এই দুটি চিঠির অর্ধেক ফ্রিকোয়েন্সি।

অ্যালগরিদম

  1. 5 পূর্ণসংখ্যা শুরু করুন: খ, ক, ল, ও, এবং n হিসাবে তাদের নিজ নিজ ফ্রিকোয়েন্সি সংরক্ষণ করুন
  2. প্রতিটি চরিত্রের জন্য 'chr,'স্ট্রিংয়ে:
    • যদি 'chr,'উপরোক্ত বর্ণিত যে কোনও অক্ষর, এর ফ্রিকোয়েন্সি বৃদ্ধি করে
  3. বিভক্ত করা l এবং o 2 দ্বারা
  4. এর মধ্যে সর্বনিম্ন ফিরিয়ে দিন খ, ক, ল, ও, এবং n
  5. ফলাফল মুদ্রণ করুন
আরো দেখুন
লাইসেন্স কী বিন্যাসকরণ লেটকোড সমাধান

সর্বাধিক সংখ্যক বেলুনের লেটকোড সমাধানের প্রয়োগ

সি ++ প্রোগ্রাম

#include <bits/stdc++.h>
using namespace std;

int maxNumberOfBalloons(string text)
{
    int b = 0 , a = 0 , l = 0 , o = 0 , n = 0;
    for(char &chr : text)
    {
        switch(chr)
        {
            case 'b' : b++;
                break;
            case 'a' : a++;
                break;
            case 'l' : l++;
                break;
            case 'o' : o++;
                break;
            case 'n' : n++;
                break;
        }
    }

    l /= 2;
    o /= 2;
    return min({b , a , l , o , n});
}

int main()
{
    string text = "blloona";
    cout << maxNumberOfBalloons(text) << '\n';
    return 0;
}

জাভা প্রোগ্রাম

import java.lang.*;

class max_balloons
{
    public static void main(String args[])
    {
        String text = "blloona";
        System.out.println(maxNumberOfBalloons(text));
    }

    static int maxNumberOfBalloons(String text)
    {
        int b = 0 , a = 0 , l = 0 ,  o = 0 , n = 0;
        char chr;
        for(int i = 0 ; i < text.length() ; i++)
        {
            chr = text.charAt(i);
            switch(chr)
            {
                case 'b' : b++;
                case 'a' : a++;
                case 'l' : l++;
                case 'o' : o++;
                case 'n' : n++;
                default: ;
            }
        }

        l /= 2;
        o /= 2;

        return Math.min(b , Math.min(a , Math.min(l, Math.min(o , n))));
    }
}
1

সর্বাধিক সংখ্যক বেলুনের লেটকোড সমাধানের জটিলতা বিশ্লেষণ

সময় জটিলতা

চালু) যেহেতু আমরা নির্দিষ্ট অক্ষরের ফ্রিকোয়েন্সি সঞ্চয় করতে একবার স্ট্রিংটি অতিক্রম করি। এখানে, N অ্যারের আকার =

স্পেস জটিলতা ity 

ও (1) যেমন আমরা ইনপুট নির্বিশেষে ধ্রুব মেমরি স্পেস ব্যবহার করি। আমরা তাদের ফ্রিকোয়েন্সি গণনা করার জন্য কিছু ভেরিয়েবল সংরক্ষণ করি।