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