একটি অ্যারে এবং তিনটি পূর্ণসংখ্যা 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))।
সমাধানের ধাপসমূহ
res = 0আরম্ভ করুন।- তিনটি নেস্টেড লুপ চালান i, j, k এর জন্য যাতে
i < j < k। - প্রতি ট্রিপলেটের জন্য শর্তাবলী যাচাই করুন।
- শর্ত পূরণ করলে
resবাড়ান। 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