কম্পিউটার

পাইথনে এটিকে একক উপাদান তৈরি করতে বাম বা ডান দিক থেকে তালিকার উপাদানগুলিকে চেপে দেওয়ার প্রোগ্রাম


ধরুন আমাদের কাছে সংখ্যা নামক সংখ্যার একটি তালিকা আছে, আমাদের এটিকে বাম এবং ডান উভয় দিক থেকে চেপে ধরতে হবে যতক্ষণ না একটি অবশিষ্ট উপাদান থাকে। আমরা প্রতিটি ধাপে রাজ্যগুলিকে ফিরিয়ে দেব৷

সুতরাং, ইনপুট যদি সংখ্যার মত হয় =[10,20,30,40,50,60], তাহলে আউটপুট হবে

<প্রে>[ [১০, ২০, ৩০, ৪০, ৫০, ৬০], [৩০, ৩০, ৪০, ১১০], [৬০, ১৫০], [২১০]]

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

  • ret :=শুধুমাত্র একটি উপাদান সংখ্যা সহ একটি তালিকা
  • সংখ্যার আকার> 1, do
    • যদি সংখ্যার আকার 2 এর মতো হয়, তাহলে
      • সংখ্যা :=উপাদান সহ একটি তালিকা তৈরি করুন (সংখ্যা[0] + সংখ্যা[1])
    • অন্যথায় যখন সংখ্যার আকার 3 এর মতো হয়, তখন
      • সংখ্যা :=উপাদান দিয়ে একটি তালিকা তৈরি করুন (সংখ্যা[0] + সংখ্যা[1] + সংখ্যা[2])
    • অন্যথায়,
      • সংখ্যা :=উপাদানগুলির সাথে একটি তালিকা তৈরি করুন (সংখ্যা[0] + সংখ্যা[1]) তারপরে সূচী 2 থেকে সংখ্যার তৃতীয় শেষ উপাদানে সংখ্যা থেকে অন্য একটি তালিকা সন্নিবেশ করুন তারপর উপাদান সহ আরেকটি তালিকা যুক্ত করুন (সংখ্যার দ্বিতীয় শেষ উপাদান + সংখ্যার শেষ উপাদান)
    • ret এর শেষে সংখ্যা সন্নিবেশ করান
  • রিটার্ন রিটার্ন

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

উদাহরণ

শ্রেণীর সমাধান:def solve(self, nums):ret =[nums] while len(nums)> 1:if len(nums) ==2:nums =[nums[0] + nums[1]] elif len(nums) ==3:nums =[nums[0] + nums[1] + nums[2]] else:nums =[nums[0] + nums[1]] + nums[2:-2] + [nums[-2] + nums[-1]] ret.append(nums) রিটার্ন retob =Solution() print(ob.solve([10,20,30,40,50,60]))

ইনপুট

[10,20,30,40,50,60]

আউটপুট

<পূর্ব>[[১০, ২০, ৩০, ৪০, ৫০, ৬০], [৩০, ৩০, ৪০, ১১০], [৬০, ১৫০], [২১০]]
  1. পাইথনে একটি তালিকার অ-সংলগ্ন উপাদানগুলির বৃহত্তম যোগফল খুঁজে বের করার প্রোগ্রাম

  2. একটি তালিকা থেকে N বৃহত্তম উপাদান খুঁজে পেতে পাইথন প্রোগ্রাম

  3. পাইথন প্রোগ্রাম একটি তালিকায় উপাদান গণনা একটি উপাদান একটি Tuple না হওয়া পর্যন্ত?

  4. পাইথন প্রোগ্রাম একটি তালিকা থেকে ডুপ্লিকেট উপাদান অপসারণ?