بکندباز

برای لیست ورودی، لیست فرعی با بزرگترین مجموع ممکن بین آیتم های متوالی را به دست آورید. سپس این بزرگترین مجموع و همچنین ایندکس اولیه و نهایی لیست فرعی را در خروجی برگردانید.

مثال

big_sub([4, -3, 5, -7, 5]) ➞ [6 (sum), 0 (start), 2 (end)]
در این مثال لیست فرعی که بزرگترین مجموع را دارد برابر است با [4, -3, 5].
 جمع اعضا = 6 و ایندکس شروع لیست فرعی برابر با 0 و ایندکس پایان برابر با 2 است.

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

BigSub([4, -3, 5, -7, 5]) ➞ [6, 0, 2]

BigSub([4, -3, -5, 7, 5]) ➞ [12, 3, 4]

BigSub([2, -3, 2, -3, 2]) ➞ [2, 4, 4]

نکات

  • اگر بزرگترین جمع در چند بازه تکرار شود، موقعیت های شروع و پایان آخرین بازه را برگردانید.
  • لیست همیشه دارای اعداد مثبت خواهد بود.
BigSub([4, -3, 5, -7, 5])  ➞ [6, 0, 2]
BigSub([4, -3, -5, 7, 5])  ➞ [12, 3, 4]
BigSub([2, -3, 2, -3, 2])  ➞ [2, 4, 4]
BigSub([4, 5, 6, -12, 4, 6, 8, -2, 4, -3, 2, 6, 5, 3, 3, -4, 3, -65, 34])  ➞ [39, 0, 14]

هنوز پاسخی برای این تمرین ثبت نشده است

نظرات

*
*