π ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΈΠ±ΡΠ»Ρ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΡΡ ΡΠ΄Π΅Π»ΠΎΠΊ Ρ Π°ΠΊΡΠΈΡΠΌΠΈ
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π±Ρ ΠΈΠ½Π²Π΅ΡΡΠΎΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡ Π·Π° ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΡΠΌΠΈ ΡΠ΅Π½ Π½Π° Π°ΠΊΡΠΈΠΈ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΠΎΠΉ ΡΠ΄Π΅Π»ΠΊΠΈ, ΡΠ΅ΠΏΠ΅ΡΡ Ρ Π²Π°Ρ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΏΠΎΠΊΡΠΏΠ°ΡΡ ΠΈ ΠΏΡΠΎΠ΄Π°Π²Π°ΡΡ Π°ΠΊΡΠΈΠΈ, ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ ΠΏΡΠΈΠ±ΡΠ»Ρ ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΄Π°ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°. ΠΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠΈΠΉ Π΄ΠΎΡ ΠΎΠ΄? ΠΡΠ° Π·Π°Π΄Π°ΡΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅Ρ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ ΡΡΠ΅ΠΉΠ΄Π΅ΡΠ°, ΠΏΡΡΠ°ΡΡΠ΅Π³ΠΎΡΡ ΠΈΠ·Π²Π»Π΅ΡΡ Π²ΡΠ³ΠΎΠ΄Ρ ΠΈΠ· Π²ΡΠ΅Ρ Π±Π»Π°Π³ΠΎΠΏΡΠΈΡΡΠ½ΡΡ ΡΠ΅Π½ΠΎΠ²ΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΡΠ½ΠΊΠ΅.
ΠΡΠ° Π·Π°Π΄Π°ΡΠ° ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ Leetcode-Π·Π°Π΄Π°ΡΡ 122. Best Time to Buy and Sell Stock II
Π Π·Π°Π΄Π°ΡΠ΅ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ±ΡΠ»Ρ ΠΎΡ Π²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΠ΄Π΅Π»ΠΎΠΊ ΠΊΡΠΏΠ»ΠΈ-ΠΏΡΠΎΠ΄Π°ΠΆΠΈ ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΡΡΠΎ Π² ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Π»Π°Π΄Π΅ΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ Π°ΠΊΡΠΈΠ΅ΠΉ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π·Π°Π΄Π°ΡΠΈ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΄Π΅Π»ΠΊΠΎΠΉ, Π·Π΄Π΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΏΠΎΠΊΡΠΏΠ°ΡΡ ΠΈ ΠΏΡΠΎΠ΄Π°Π²Π°ΡΡ, ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ ΠΏΡΠΈΠ±ΡΠ»Ρ ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΡΡΡΡΠ΅Π³ΠΎ ΠΎΡΡΠ΅Π·ΠΊΠ° ΡΠ΅Π½ΠΎΠ²ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ°.
Π ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΠΉΡΠΈ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π° ΠΈ Π²ΡΡ ΠΎΠ΄Π° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ΄Π΅Π»ΠΊΠΈ. Π₯ΠΎΡΡ ΡΠ²Π½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π΄Π½Π΅ΠΉ ΠΏΠΎΠΊΡΠΏΠΊΠΈ/ΠΏΡΠΎΠ΄Π°ΠΆΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎ ΡΡΡΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π²ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΡ (ΡΠΎΡΠΊΠΈ ΠΏΠΎΠΊΡΠΏΠΊΠΈ) ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π° Π½ΠΈΠΌΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΡ (ΡΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΄Π°ΠΆΠΈ), ΡΡΠΌΠΌΠΈΡΡΡ ΠΏΡΠΈΠ±ΡΠ»Ρ ΠΎΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π·Π°Π΄Π°ΡΠΈ 121 (Best Time to Buy and Sell Stock)
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΄Π΅Π»ΠΎΠΊ: Π Π·Π°Π΄Π°ΡΠ΅ 121 ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΊΡΠΏΠ»ΠΈ-ΠΏΡΠΎΠ΄Π°ΠΆΠΈ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ²Π΅ΡΡΠ°ΡΡ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΄Π΅Π»ΠΎΠΊ (Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ Π²Π»Π°Π΄Π΅Π½ΠΈΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ Π°ΠΊΡΠΈΠ΅ΠΉ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ). ΠΡΠΎ ΠΊΠΎΡΠ΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠ΅Π½ΡΠ΅Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΡ β Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠΈΡΠΊΠ° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌ Π²ΡΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅Π½ΠΎΠ²ΡΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ.
Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ: ΠΠ°Π΄Π°ΡΠ° 121 ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ° ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π·Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅ Π½Π΅Π³ΠΎ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΡΠ΅ΠΊΡΡΠ°Ρ Π·Π°Π΄Π°ΡΠ° ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΡΡΠΌ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅Ρ Π²ΠΎΠ·ΡΠ°ΡΡΠ°ΡΡΠΈΡ ΡΠΎΡΠ΅Π΄Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΡΠΌΠΎΠ»ΠΈΠ½Π΅ΠΉΠ½ΡΠΌ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ (Ρ ΠΎΡΡ ΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΌ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅).
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ: Π Π·Π°Π΄Π°ΡΠ΅ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΄Π΅Π»ΠΊΠΎΠΉ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΈΠ±ΡΠ»Ρ Π΄Π»Ρ [7,1,5,3,6,4] ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 5 (ΠΏΠΎΠΊΡΠΏΠΊΠ° Π·Π° 1, ΠΏΡΠΎΠ΄Π°ΠΆΠ° Π·Π° 6), ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΏΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΡΡ ΡΠ΄Π΅Π»ΠΊΠ°Ρ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ 7 (1β5 ΠΈ 3β6), Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·Π½ΡΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΡΠΎΡΠ³ΠΎΠ²Π»ΠΈ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΡ (ΠΌΠ΅ΡΠΎΠ΄ "ΠΏΠΈΠΊΠΎΠ² ΠΈ Π²ΠΏΠ°Π΄ΠΈΠ½")
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ: Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΉ ΠΏΡΠΈΠ±ΡΠ»ΠΈ (totalProfit).
ΠΡΠΎΡ ΠΎΠ΄ ΠΏΠΎ ΠΌΠ°ΡΡΠΈΠ²Ρ: ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄Π½Ρ, Π½Π°ΡΠΈΠ½Π°Ρ ΡΠΎ Π²ΡΠΎΡΠΎΠ³ΠΎ:
ΠΡΠ»ΠΈ ΡΠ΅Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π²ΡΡΠ΅, ΡΠ΅ΠΌ Π²ΡΠ΅ΡΠ° (prices[i] > prices[i-1]), Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΉ ΠΏΡΠΈΠ±ΡΠ»ΠΈ.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½ΡΡ ΠΏΡΠΈΠ±ΡΠ»Ρ.
ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ "ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌ" Π²ΡΠ΅ Π²ΠΎΠ·ΡΠ°ΡΡΠ°ΡΡΠΈΠ΅ ΠΎΡΡΠ΅Π·ΠΊΠΈ ΡΠ΅Π½ΠΎΠ²ΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ, ΡΡΠΎ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΠΎΠΊΡΠΏΠΊΠ°ΠΌ ΠΈ ΠΏΡΠΎΠ΄Π°ΠΆΠ°ΠΌ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ΅ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠ΅.
Python ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
textΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ
ΠΡΠΎΡΡΠΎΡΠ° ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ: ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎ ΠΌΠ°ΡΡΠΈΠ²Ρ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΠΈΠΌΠ΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ O(n) ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅Π½Π½ΡΡ O(1).
ΠΠ°Π΄Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄: ΠΡ ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΏΡΠΈΠ±ΡΠ»Ρ, ΡΠΎΠ±ΠΈΡΠ°Ρ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΠ΅Π΄Π½ΠΈΠΌΠΈ Π΄Π½ΡΠΌΠΈ.
Π£Π½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ: Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ Π»ΡΠ±ΡΡ ΡΠ΅Π½ΠΎΠ²ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΌΠΎΠ½ΠΎΡΠΎΠ½Π½ΠΎ ΡΠ°ΡΡΡΡΠΈΠ΅ ΠΈ ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅.
ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π², Π³Π΄Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΄Π΅Π»ΠΎΠΊ, ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ, ΠΊΠ°ΠΊ ΠΏΡΠΎΡΡΠ°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π΄Π°Π²Π°ΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π½Π° ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΡ ΡΡΠ½ΠΊΠ°Ρ .