কম্পিউটার

পাইথনে ডায়েট প্ল্যান পারফরম্যান্স


ধরুন একজন ডায়েটার ক্যালোরি গ্রহণ করেন[i], এটি প্রথম দিনে ক্যালোরি নির্দেশ করে৷ যদি আমাদের একটি পূর্ণসংখ্যা k থাকে, k দিনের প্রতিটি ক্রমাগত অনুক্রমের জন্য (ক্যালোরি[i], ক্যালোরি[i+1], ..., ক্যালোরি [i+k-1] সমস্ত 0 <=i <=n-k ), তারা T খুঁজে পায়। T হল k দিনের সেই ক্রমানুসারে খাওয়া মোট ক্যালোরি (ক্যালোরি[i] + ক্যালোরি[i+1] + ... + ক্যালোরি[i+k-1]):কিন্তু কিছু আছে শর্তাবলী;

  • যদি T <কম বাউন্ড, তারা তাদের ডায়েটে খারাপ পারফর্ম করে তাই ১ পয়েন্ট হারায়;
  • যদি T> উপরের বাউন্ড, তারা তাদের ডায়েটে ভালো পারফর্ম করে তাই ১ পয়েন্ট লাভ করে;
  • অন্যথায়, তারা স্বাভাবিকভাবে পারফর্ম করেছে। তাই পয়েন্ট একই।

প্রথমে, ডায়েটারের শূন্য পয়েন্ট রয়েছে। আমাদের ডায়েটারের মোট পয়েন্টের সংখ্যা খুঁজে বের করতে হবে।

যদি অ্যারে [6,5,0,0] এবং k =2 এবং নিম্ন :=1 এবং উপরের :=5 হয়, তাহলে আউটপুট হবে 0। C[0] + C[1 ]> উপরের, তাই এক বিন্দু বাড়ান, নিম্ন <=C[1] + C[2] <=উপরের তাই কোন পরিবর্তন নেই, তারপর C[2] + C[3] <কম, তাই এক বিন্দু কমিয়ে ফেলুন, ফলে আউটপুট 0 হবে।

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

  • তাপ :=0
  • আমি 0 থেকে k
      পরিসরে
    • temp :=temp + C[k]
  • ডান :=k – 1, এবং বাম :=0, এবং পয়েন্ট :=0
  • যখন ডানে
  • যদি টেম্প <কম হয়, তাহলে পয়েন্ট 1 কমিয়ে দিন, যদি টেম্প> উপরের হয়, তাহলে পয়েন্ট 1 করে বাড়ান
  • temp :=temp – C[বাম]
  • বাম এবং ডানে 1 দ্বারা বাড়ান
  • যদি সঠিক>=C এর দৈর্ঘ্য, তাহলে লুপ থেকে বেরিয়ে আসুন
  • temp :=temp + C[ডান]
  • রিটার্ন পয়েন্ট
  • উদাহরণ

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

    <প্রি>শ্রেণির সমাধান(অবজেক্ট):def dietPlanPerformance(self, c, k, l, u):temp =0 i for range(k):temp +=c[i] right =k-1 left =0 পয়েন্ট =0 যখন ডানে u:points+=1 temp -=c[left] left+=1 right+=1 if(right>=len(c)) :ব্রেক টেম্প+=c[ডান] রিটার্ন পয়েন্টসব1 =সমাধান()প্রিন্ট(ob1.dietPlanPerformance([6,5,0,0],2,1,5))

    ইনপুট

    [6,5,0,0]215

    আউটপুট

    0

    1. পাইথনে প্যাসকেলের ত্রিভুজের নবম সারি খুঁজে বের করার প্রোগ্রাম

    2. পাইথনে বাইনারি গাছের সর্বোচ্চ গভীরতা

    3. পারফরম্যান্সের জন্য পাইথন অভিধানকে কীভাবে অপ্টিমাইজ করবেন?

    4. পাইথন রেগুলার এক্সপ্রেশনের পারফরম্যান্স কিভাবে অপ্টিমাইজ করবেন?