একটি দোকানে প্রতিটি আইটেমের দাম দেওয়া আছে। i-তম আইটেম কিনলে j-তম আইটেমের দামের সমান ডিসকাউন্ট মিলবে, যেখানে j হলো i-র পরের সবচেয়ে ছোট ইনডেক্স যাতে prices[j] <= prices[i]। চূড়ান্ত দাম বের করতে হবে।
সমস্যা বিবরণ
ইনপুট: prices = [16,8,12,4,6]
আউটপুট: [8, 4, 8, 4, 6]।
সমাধানের ধাপসমূহ
- প্রতি i-এর জন্য j = i+1 থেকে শেষ পর্যন্ত লুপ চালান।
- যদি
prices[i] >= prices[j]হয়, তবেprices[i] -= prices[j]এবং লুপ ভাঙুন। - সব i প্রক্রিয়া করার পর
pricesরিটার্ন করুন।
পাইথন উদাহরণ
def solve(prices):
for i in range(len(prices)):
for j in range(i+1, len(prices)):
if prices[i] >= prices[j]:
prices[i] -= prices[j]
break
return prices
prices = [16,8,12,4,6]
print(solve(prices)) # আউটপুট: [8, 4, 8, 4, 6]
ইনপুট
[16,8,12,4,6]
আউটপুট
[8, 4, 8, 4, 6]