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

পাইথনে ভালো ট্রিপলেটের সংখ্যা গণনা করার প্রোগ্রাম

একটি অ্যারে এবং তিনটি পূর্ণসংখ্যা a, b, c দেওয়া আছে। যেসব ট্রিপলেট (i, j, k) নির্দিষ্ট শর্তাবলী পূরণ করে সেগুলো "ভালো ট্রিপলেট" বলা হয়। তাদের সংখ্যা গণনা করতে হবে।

শর্তাবলী

  • 0 <= i < j < k < len(nums)
  • |nums[i] - nums[j]| <= a
  • |nums[j] - nums[k]| <= b
  • |nums[i] - nums[k]| <= c

সমস্যা বিবরণ

ইনপুট: nums = [5,2,3,3,12,9], a = 7, b = 2, c = 3
আউটপুট: 4 (ভালো ট্রিপলেটগুলো: (5,2,3), (5,2,3), (5,3,3), (2,3,3))।

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

  1. res = 0 আরম্ভ করুন।
  2. তিনটি নেস্টেড লুপ চালান i, j, k এর জন্য যাতে i < j < k।
  3. প্রতি ট্রিপলেটের জন্য শর্তাবলী যাচাই করুন।
  4. শর্ত পূরণ করলে res বাড়ান।
  5. res রিটার্ন করুন।

পাইথন উদাহরণ

def solve(nums, a, b, c):
    res = 0
    for i in range(len(nums)):
        for j in range(i+1, len(nums)):
            for k in range(j+1, len(nums)):
                if abs(nums[i] - nums[j]) <= a and abs(nums[j] - nums[k]) <= b and abs(nums[i] - nums[k]) <= c:
                    res += 1
    return res

nums = [5,2,3,3,12,9]
a = 7
b = 2
c = 3
print(solve(nums, a, b, c))  # আউটপুট: 4

ইনপুট

[5,2,3,3,12,9], 7, 2, 3

আউটপুট

4
  1. Python দিয়ে বাইনারি ট্রিতে ভালো লিফ নোড পেয়ার সংখ্যা বের করার প্রোগ্রাম

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

  3. পাইথন প্রোগ্রাম লিস্টে সবচেয়ে ছোট সংখ্যা বের করা

  4. একটি সংখ্যার সম ফ্যাক্টরের যোগফল বের করার পাইথন প্রোগ্রাম