Menu
CoddyTech

Best Time to Buy and Sell Stock

ניתנת לך רשימה prices, שבה prices[i] הוא המחיר של מניה אחת ביום i. מותר לך לקנות מניה אחת ביום אחד ולמכור אותה ביום מאוחר יותר. החזר את הרווח הגדול ביותר שאפשר להשיג, או 0 כאשר כל עסקה אפשרית גורמת להפסד.

פונקציה

maxProfit(prices: integer-array) → integer
pricesinteger-array
מחיר המניה בכל יום, לפי הסדר
מחזירהinteger
הרווח הגדול ביותר מקנייה אחת וממכירה מאוחרת יותר, או 0

אילוצים

  • 1 ≤ prices.length ≤ 105
  • 0 ≤ prices[i] ≤ 104
  • אתה מבצע לכל היותר עסקה אחת, ומוכר ביום מאוחר יותר מהיום שבו קנית.

דוגמאות

קלט
prices = [7, 2, 5, 9, 1, 4]
פלט
7
הסבר
קנו ביום 1 במחיר 2 ומכרו ביום 3 במחיר 9, לרווח של 7. המחיר הזול ביותר, 1 ביום 4, מגיע אחרי ה־9, ולכן המכירה הטובה ביותר אחריו מניבה רווח של 3 בלבד.
challenge icon

שאלת המשך

מה אם מותר לך לבצע כמה עסקאות שתרצה, תוך החזקה של מניה אחת לכל היותר בכל רגע נתון?

איפוס הקוד
def maxProfit(prices):
    # כתבו כאן קוד

בדיקה #1

בדיקה #2

ארגומנט

prices = [7, 2, 5, 9, 1, 4]

הפלט הצפוי

7