কম্পিউটার

সাবলিস্টের সংখ্যা খুঁজে বের করার প্রোগ্রাম আমরা পার্টিশন করতে পারি তাই প্রদত্ত তালিকাটি অবশেষে পাইথনে সাজানো হয়


ধরুন আমাদের কাছে সংখ্যার একটি তালিকা আছে যাকে বলা হয় সংখ্যা। আমরা তালিকাটিকে কিছু পৃথক সাবলিস্টে বিভাজন করতে পারি তারপর প্রতিটি অংশকে সাজাতে পারি। আমাদের সর্বাধিক সংখ্যক সাবলিস্ট খুঁজে বের করতে হবে যাতে আমরা বিভাজন করতে পারি যাতে সামগ্রিকভাবে সংখ্যাগুলি পরে সাজানো হয়।

সুতরাং, ইনপুট যদি nums =[4, 3, 2, 1, 7, 5] এর মত হয়, তাহলে আউটপুট হবে 2, যেমন আমরা সাবলিস্ট যেমন [4, 3, 2, 1] এবং [7, 5]

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

  • গণনা :=0
  • main_sum :=0, sorted_sum :=0
  • সংখ্যা থেকে x এবং সংখ্যার সাজানো ফর্ম থেকে y প্রতিটি উপাদানের জন্য, করুন
    • main_sum :=main_sum + x
    • sorted_sum :=sorted_sum + y
    • যদি main_sum হয় sorted_sum এর মত, তাহলে
      • গণনা :=গণনা + 1
  • রিটার্ন গণনা

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

উদাহরণ

class Solution:
   def solve(self, nums):
      count = 0
      main_sum = sorted_sum = 0

      for x, y in zip(nums, sorted(nums)):
         main_sum += x
         sorted_sum += y
         if main_sum == sorted_sum:
            count += 1

      return count

ob = Solution()
nums = [4, 3, 2, 1, 7, 5]
print(ob.solve(nums))

ইনপুট

[4, 3, 2, 1, 7, 5]

আউটপুট

2

  1. পাইথনে একটি সাজানো তালিকা পরিসরে অনুপস্থিত সংখ্যাগুলি খুঁজুন

  2. পাইথন প্রোগ্রাম একটি তালিকার ক্ষুদ্রতম সংখ্যা খুঁজে বের করতে

  3. পাইথন প্রোগ্রাম একটি তালিকায় সবচেয়ে বড় সংখ্যা খুঁজে বের করতে

  4. পাইথন প্রোগ্রাম একটি তালিকায় সবচেয়ে বড় সংখ্যা খুঁজে বের করতে