بکندباز

تابعی ایجاد کنید که یک لیست از اعداد صحیح که نشان‌دهنده مقدار دلاری یک سهام در روز های متوالی است را دریافت کند و حداکثر سودی که می‌توانست با خرید سهام در روز x و فروش سهام در روز y که y > x است را بازگرداند.

اگر لیست زیر داده شود:

[44, 30, 24, 32, 35, 30, 40, 38, 15]

برنامه شما باید 16 را برگرداند زیرا اگر در روز سوم که سهام به ارزش $24 بوده بخرید و در روز هفتم که سهام به ارزش $40 است، بفروشید، سودی معادل $16 خواهید داشت که بیشترین سود ممکن با این لیست قیمت سهام است.

اگر هیچ سودی با قیمت‌های سهام قابل دستیابی نباشد، برنامه شما باید -1 را برگرداند (برای مثال [10, 9, 8, 2] باید -1 را برگرداند).

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

stock_picker([10, 12, 4, 5, 9]) ➞ 5

stock_picker([14, 20, 4, 12, 5, 11]) ➞ 8

stock_picker([80, 60, 10, 8]) ➞ -1
self.assertEqual(stock_picker([10, 12, 4, 5, 9]), 5)
self.assertEqual(stock_picker([14, 20, 4, 12, 5, 11]), 8)
self.assertEqual(stock_picker([80, 60, 10, 8]), -1)
self.assertEqual(stock_picker([10, 1000, 1, 1, 1, 2000, 3]), 1999)
self.assertEqual(stock_picker([7, 1, 5, 5, 2, 1, 3]), 4)
self.assertEqual(stock_picker([100, 10, 8, 5]), -1)

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

Sa_shadow
امتیاز:‌ 8495
تصحیح اتوماتیک 0 0
‎پایتون‎
11 مرداد 1403

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

Arhsi8294
امتیاز:‌ 8495
تصحیح اتوماتیک 0 0
‎پایتون‎
10 مرداد 1403

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

Aboolkhafan
امتیاز:‌ 8495
تصحیح اتوماتیک 0 0
‎پایتون‎
10 مرداد 1403

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

نظرات

*
*

تمرینات مرتبط