بکندباز

این تمرین قسمت دوم تمرین بزرگترین لیست فرعی است.

لیستی در ورودی داریم. هدف این مسئله یافتن لیست های فرعی (یعنی دنباله آیتم‌های مجاور) با بیشترین مجموع است.

مثلاً در لیست زیر:

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

لیست فرعی که دارای حداکثر مجموع است برابر است با [5, -1, 4] که جمع آن برابر است با: 5 - 1 + 4 = 8.

قابل ذکر است، در این چالش، لیست های فرعی خالی [] را مجاز می‌کنیم که مجموع آن‌ها برابر 0 است . از این رو، برای لیستی [-4, -3, -5, -7]از اعداد منفی، فهرست فرعی [] جمع حداکثر را با مجموع 0 دارید

تا اینجا مشابه قسمت اول بود. اما در این چالش می خواهیم جفت لیست فرعی با حداکثر مجموع، را به دست آوریم. برای مثال، برای لیست بالا، جفت لیست فرعی با حداکثر مجموع، برابرا است با [1, 6], [5, -1, 4] که دارای مجموع کل  1 + 6 + 5 - 1 + 4 = 15 است.

به عنوان مثال دیگر، برای لیست زیر:

[-1, -2, -3, 5, 4, 3, 4, 5, -9, -10]

جفت لیست فرعی با حداکثر مجموع برابر است با  [5, 4, 3, 4, 5], [] با مجموع کل  5 + 4 + 3 + 4 + 5 = 21.

هدف

تابعی بنویسید که با توجه به لیستی از اعداد، مجموع کل جفت لیست فرعی با حداکثر مجموع را برمی گرداند.

مثال ها

max_sum_pair([-4, 2, -3, -2, 2, -3, 5, -2]) ➞ 7
# جفت لیست فرعی [2], [5]

نمونه ورودی و خروجی

max_sum_pair([1, 6, -1, -5, -2, 5, -1, 4, -7, 1, 2, 3]) ➞ 15

max_sum_pair([-1, -2, -3, 5, 4, 3, 4, 5, -9, -10]) ➞ 21

max_sum_pair([-4, 2, -3, -2, 2, -3, 5, -2]) ➞ 7

نکات

  • این مسئله را می توان به طور موثر با استفاده از الگوریتم معروف Kadane حل کرد.
max_sum_pair([1, 6, -1, -5, -2, 5, -1, 4, -7, 1, 2, 3])  ➞ 15
max_sum_pair([-1, -2, -3, 5, 4, 3, 4, 5, -9, -10])  ➞ 21
max_sum_pair([-4, 2, -3, -2, 2, -3, 5, -2])  ➞ 7
max_sum_pair([0, -1, 5, -6, 5, -3, 0, -4, 5, 2, -5, 1])  ➞ 12
max_sum_pair([-5, 3, -4, 6, 0, 0, -4, -2, -2, 7, -5, 7, -5, 5])  ➞ 15

پاسخ های کاربران به این تمرین

FDK2077
امتیاز:‌ 6394
تصحیح اتوماتیک 0 0
‎پایتون‎
27 فروردين 1403

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

Amin
امتیاز:‌ 12176
تصحیح اتوماتیک 0 0
‎پایتون‎
13 فروردين 1403

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

AmirNamdari
امتیاز:‌ 6660
تصحیح اتوماتیک 0 0
‎پایتون‎
15 بهمن 1402

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

ali-zizo
امتیاز:‌ 8050
تصحیح اتوماتیک 0 0
‎پایتون‎
7 بهمن 1402

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

alitayyar
امتیاز:‌ 10044
تصحیح اتوماتیک 0 0
‎پایتون‎
28 آذر 1402

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

quchani
امتیاز:‌ 5550
تصحیح اتوماتیک 0 0
‎پایتون‎
10 آذر 1402

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

aliahmadi98
امتیاز:‌ 7285
تصحیح اتوماتیک 0 0
‎پایتون‎
19 آبان 1402

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

mantix
امتیاز:‌ 16256
تصحیح اتوماتیک 0 0
‎پایتون‎
13 آبان 1402

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

نظرات

*
*