আমাদের একটি অ্যারে আছে coins যাতে n উপাদান রয়েছে, এবং এটি আমাদের কয়েনগুলোকে প্রতিনিধিত্ব করে। i-তম কয়েনের মান coins[i]। আমরা কিছু মান x বানাতে পারি যদি আমাদের n কয়েন থেকে কিছু সিলেক্ট করে তাদের মানগুলোর যোগফল x হয়। আমাদের 0 থেকে শুরু করে কয়েন দিয়ে বানানো যাবে সর্বাধিক কনsekutিভ ভ্যালুর সংখ্যা বের করতে হবে।
উদাহরণস্বরূপ, ইনপুট coins = [1,1,3,4] হলে আউটপুট হবে 10, কারণ:
0 = []
1 = [1]
2 = [1,1]
3 = [3]
4 = [4]
5 = [4,1]
6 = [4,1,1]
7 = [4,3]
8 = [4,3,1]
9 = [4,3,1,1]
সমাধানের ধাপসমূহ
coinsলিস্টটি সর্ট করুনans := 1coins-এর প্রতিটিcoinএর জন্য:যদি
coin > ansহয়, তবে:লুপ থেকে বেরিয়ে আসুন
ans := ans + coin
ansরিটার্ন করুন
উদাহরণ
নিচের ইমপ্লিমেন্টেশনটি দেখুন ভালোভাবে বুঝার জন্য:
def solve(coins):
coins.sort()
ans = 1
for coin in coins:
if coin > ans:
break
ans += coin
return ans
coins = [1,1,3,4]
print(solve(coins)) ইনপুট
[1,1,3,4]
আউটপুট
10