কম্পিউটার টিউটোরিয়াল

C++-এ কুকি বিতরণ (Assign Cookies)


বাচ্চাদের কাছে কুকি বিতরণ করতে হবে। প্রতিটি বাচ্চার একটি লোভ ফ্যাক্টর (gi) আছে - কুকির ন্যূনতম আকার যা তাকে তৃপ্ত করবে। প্রতিটি কুকির আকার (sj) আছে। যদি sj >= gi হয়, বাচ্চা তৃপ্ত হবে। প্রতিটি বাচ্চা সর্বোচ্চ একটি কুকি পাবে। সর্বোচ্চ কতজন বাচ্চা তৃপ্ত করা যায় তা বের করুন।

উদাহরণ: g = [1,2], s = [1,2,3] হলে আউটপুট ২। দুটি বাচ্চা উভয়ই তৃপ্ত होয়।

সমাধানের ধাপসমূহ

  • g এবং s অ্যারে দুটো সর্ট করুন।
  • i := 0, j := 0।
  • যখন i < g.size() এবং j < s.size():
    • যদি g[i] <= s[j], i++।
    • j++।
  • i রিটার্ন করুন।

C++ কোড উদাহরণ

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

class Solution {
public:
    int findContentChildren(vector<int>& g, vector<int>& s) {
        sort(g.begin(), g.end());
        sort(s.begin(), s.end());
        int i = 0, j = 0;
        while (i < g.size() && j < s.size()) {
            if (g[i] <= s[j]) i++;
            j++;
        }
        return i;
    }
};

int main() {
    Solution ob;
    vector<int> v = {1,2}, v1 = {1,2,3};
    cout << ob.findContentChildren(v, v1);
    return 0;
}

ইনপুট

{1,2}, {1,2,3}

আউটপুট

2
  1. C++ পয়েন্টারে NULL, 0 নাকি nullptr? (What should we assign to a C++ pointer: Null or 0?)

  2. C++-এ এনক্যাপসুলেশন

  3. C++-এ আইডেন্টিফায়ার (Identifiers)

  4. লিনাক্সে C++-এর জন্য সেরা IDE কী?