یک تابع بنویسید که یک لیست از اعداد یک هرم را دریافت کند و بیشترین مجموع اعداد متوالی را از بالای هرم تا پایین آن برگرداند.
/3/
\7\ 4
2 \4\ 6
8 5 \9\ 3
در اینجا، طولانیترین مسیر و مجموع اعداد برابر است با:
3 + 7 + 4 + 9 = 23
نمونه ورودی و خروجی
longest_slide([[3], [7, 4], [2, 4, 6], [8, 5, 9, 3]]) ➞ 23
longest_slide([[1], [2, 3], [4, 5, 6], [7, 8, 9, 10]]) ➞ 20
longest_slide([[2], [9, 4], [1, 8, 7], [6, 4, 7, 2]]) ➞ 26
self.assertEqual(longest_slide([[3], [7, 4], [2, 4, 6], [8, 5, 9, 3]]), 23) self.assertEqual(longest_slide([[1], [2, 3], [4, 5, 6], [7, 8, 9, 10]]), 20) self.assertEqual(longest_slide([[2], [9, 4], [1, 8, 7], [6, 4, 7, 2]]), 26) self.assertEqual(longest_slide( [[75], [95, 64], [17, 47, 82], [18, 35, 87, 10], [20,4, 82, 47, 65], [19,1, 23, 75,3, 34], [88,2, 77, 73,7, 63, 67], [99, 65,4, 28,6, 16, 70, 92], [41, 41, 26, 56, 83, 40, 80, 70, 33], [41, 48, 72, 33, 47, 32, 37, 16, 94, 29], [53, 71, 44, 65, 25, 43, 91, 52, 97, 51, 14], [70, 11, 33, 28, 77, 73, 17, 78, 39, 68, 17, 57], [91, 71, 52, 38, 17, 14, 91, 43, 58, 50, 27, 29, 48], [63, 66,4, 68, 89, 53, 67, 30, 73, 16, 69, 87, 40, 31], [ 4, 62, 98, 27, 23,9, 70, 98, 73, 93, 38, 53, 60,4, 23]]), 1074)
پاسخ های کاربران به این تمرین
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
بنظر تست برنامه خطا داره ..حدس می زنم اشتباه تایپی باشه ...من دستی هم حل کردم برنامم درست داره کار می کنم ..جمع تست اخر 1064 میشه که توی تست زدید 1074 .... بررسی کنید لطفاً
بررسی کردم تست ها درست هستند. سه تا تست اول فقط چهار ردیف دارن. احتمالاً الگوریتمی که نوشتید یه نقصی داره که توی لیست های بزرگتر خودش رو نشون میده.
تایم تمرین رو زیادتر کردم که زمان بیشتری برای حل داشته باشید.