কম্পিউটার

C++ এ উপযুক্ত বয়সের বন্ধু


ধরুন কিছু লোক ফ্রেন্ড রিকোয়েস্ট করবে। আমরা তাদের বয়স জানি, এগুলি যুগে সংরক্ষিত হয় [i]। সুতরাং এটি ইথ ব্যক্তির বয়স নির্দেশ করে। এখন A A বন্ধুত্বের অনুরোধ করবে না B (B !=A) যদি নিম্নলিখিত শর্তগুলির মধ্যে কোনোটি সত্য হয় −

  • বয়স[B] <=0.5 * বয়স[A] + 7
  • বয়স[B]> বয়স[A]
  • বয়স[B]> 100 &&বয়স[A] <100

অন্যথায়, A, B কে বন্ধুত্বের অনুরোধ করবে। আপনি বিবেচনা করতে পারেন যে A যদি B অনুরোধ করে, B অগত্যা Aকে অনুরোধ করে না। এবং এছাড়াও, লোকেরা নিজেরা বন্ধুত্বের অনুরোধ করবে না। তাই আমাদের খুঁজে বের করতে হবে মোট কতটি বন্ধুর অনুরোধ করা হয়েছে?

ধরুন বয়সের অ্যারে যদি [16,17,18] এর মত হয়, তাহলে ফলাফল 2 হবে, যেমন অনুরোধগুলি হবে 17 -> 16, 18 -> 17।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • 1000 আকারের একটি অ্যারে বালতি সংজ্ঞায়িত করুন, তারপর বালতিতে বয়সের অ্যারে উপাদানগুলির ফ্রিকোয়েন্সি সংরক্ষণ করুন৷
  • তারপরে বালতি উপাদানের ক্রমবর্ধমান সমষ্টি খুঁজুন এবং সংরক্ষণ করুন, বালতিতে
  • ret :=0
  • আমার জন্য 0 থেকে সাইজের বয়সের অ্যারে - 1
    • x :=বয়স[i], y :=(বয়স[i] / 2) + 7
    • যদি x>=y, তারপর
      • ret :=bucket[x] – bucket[y]
      • যদি bucket[x] – bucket[y] অ-শূন্য হয়, তাহলে ret 1 কমিয়ে দিন
  • রিটার্ন রিটার্ন।

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
   int numFriendRequests(vector<int>& ages) {
      vector <int> bucket(1000);
      for(int i = 0; i < ages.size(); i++){
         bucket[ages[i]]++;
      }
      for(int i = 1; i < 1000; i++)bucket[i] += bucket[i - 1];
      int ret = 0;
      for(int i = 0; i < ages.size(); i++){
         int x = ages[i];
         int y = ((ages[i]) / 2) + 7;
         if(x >= y){
            ret += (bucket[x] - bucket[y]);
            if((bucket[x] - bucket[y]))
            ret--;
         }
      }
      return ret;
   }
};
main(){
   vector<int> v1 = {16, 17, 18};
   Solution ob;
   cout << (ob.numFriendRequests(v1));
}

ইনপুট

[16,17,18]

আউটপুট

2

  1. C++ এ রেখার প্রতিফলন

  2. C++ এ ডায়াগোনাল ট্রাভার্স II

  3. C++ এ কিল প্রসেস

  4. C++ এ কাঠবিড়ালি সিমুলেশন