π ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΈΠ±ΡΠ»Ρ ΡΒ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ Π²Β Π΄Π²Π΅ ΡΠ΄Π΅Π»ΠΊΠΈ (leetcode 12
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Ρ ΡΡΠ°Π»ΠΈ ΡΡΠ΅ΠΉΠ΄Π΅ΡΠΎΠΌ Π½Π° ΠΎΠΆΠΈΠ²Π»ΡΠ½Π½ΠΎΠΉ ΡΠΎΠ½Π΄ΠΎΠ²ΠΎΠΉ Π±ΠΈΡΠΆΠ΅. Π£ Π²Π°Ρ Π΅ΡΡΡ ΡΡΡΠΊΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ: Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ²Π΅ΡΡΠΈΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Π΄Π²ΡΡ ΡΠ΄Π΅Π»ΠΎΠΊ ΠΊΡΠΏΠ»ΠΈ-ΠΏΡΠΎΠ΄Π°ΠΆΠΈ Π°ΠΊΡΠΈΠΉ Π·Π° Π΄Π΅Π½Ρ. ΠΠ°ΠΊ Π²ΡΠ±ΡΠ°ΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΏΠΎΠΊΡΠΏΠΊΠΈ ΠΈ ΠΏΡΠΎΠ΄Π°ΠΆΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ±ΡΠ»Ρ? ΠΡΠ° Π·Π°Π΄Π°ΡΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅Ρ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ ΠΈΠ½Π²Π΅ΡΡΠΎΡΡ ΠΏΡΠΈ ΡΠΎΡΠ³ΠΎΠ²Π»Π΅ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ.
Π Π΅ΡΡ ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ 123. Best Time to Buy and Sell Stock III
Π Π·Π°Π΄Π°ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΄Π²Π΅ Π½Π΅ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡΠΈΠ΅ΡΡ ΠΏΠ°ΡΡ (ΠΏΠΎΠΊΡΠΏΠΊΠ°, ΠΏΡΠΎΠ΄Π°ΠΆΠ°), Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΏΠΎΠΊΡΠΏΠΊΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΠ΄Π°ΠΆΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ. ΠΡΠΈ ΡΡΠΎΠΌ ΡΡΠΌΠΌΠ°ΡΠ½Π°Ρ ΠΏΡΠΈΠ±ΡΠ»Ρ ΠΎΡ ΡΡΠΈΡ Π΄Π²ΡΡ ΡΠ΄Π΅Π»ΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΠ΅Π½ [3,3,5,0,0,3,1,4] ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΄Π΅Π»ΠΊΠΈ β (0β3) ΠΈ (1β4) Ρ ΡΡΠΌΠΌΠ°ΡΠ½ΠΎΠΉ ΠΏΡΠΈΠ±ΡΠ»ΡΡ 6.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π·Π°Π΄Π°ΡΠΈ Ρ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ ΡΠ΄Π΅Π»ΠΎΠΊ, Π·Π΄Π΅ΡΡ Π²Π°ΠΆΠ½ΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ±ΡΠ°ΡΡ Π²ΡΠ΅ ΡΠ°ΡΡΡΡΠΈΠ΅ ΠΎΡΡΠ΅Π·ΠΊΠΈ, Π° Π²ΡΠ±ΡΠ°ΡΡ Π΄Π²Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠ±ΡΠ»ΡΠ½ΡΡ , ΡΠΎΠ±Π»ΡΠ΄Π°Ρ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ ΠΈΠ· Π΄Π²ΡΡ Π½Π΅ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡΠΈΡ ΡΡ ΡΠ΄Π΅Π»ΠΎΠΊ ΠΈ Π²ΡΠ±ΠΎΡΠ° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²ΡΠ³ΠΎΠ΄Π½ΠΎΠΉ.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ
ΠΠ°Π΄Π°ΡΠ° ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°, ΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ. ΠΡΠΎΡΡΠΎΠ΅ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΏΡΠΈΠ±ΡΠ»ΡΠ½ΡΡ ΠΎΡΡΠ΅Π·ΠΊΠΎΠ² Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ β Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ:
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΄Π΅Π»ΠΊΠΈ ΠΊΠ°ΠΊ Π΄ΠΎ, ΡΠ°ΠΊ ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄Π½Ρ
ΠΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²ΡΠ³ΠΎΠ΄Π½ΡΠ΅ ΠΏΠ°ΡΡ ΡΠ΄Π΅Π»ΠΎΠΊ
Π£ΡΠΈΡΡΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΈΠ±ΡΠ»ΠΈ Π²ΡΠ΅Π³ΠΎ ΠΎΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΄Π΅Π»ΠΊΠΈ, Π΅ΡΠ»ΠΈ Π²ΡΠΎΡΠ°Ρ Π½Π΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠΈΠΉ Π΄ΠΎΡ ΠΎΠ΄
Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΉ Ρ ΡΠ°Π·Π½ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΎΡΡΠ°Π²ΡΠΈΡ ΡΡ ΡΠ΄Π΅Π»ΠΎΠΊ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΡ (Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅)
1. ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ: Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ:
buy1β ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠ΅Π½Π° ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΏΠΎΠΊΡΠΏΠΊΠΈ
profit1β ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΈΠ±ΡΠ»Ρ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΄Π°ΠΆΠΈ
buy2β ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠ΅Π½Π° ΠΏΠΎΡΠ»Π΅ Π²ΡΠΎΡΠΎΠΉ ΠΏΠΎΠΊΡΠΏΠΊΠΈ (Ρ ΡΡΠ΅ΡΠΎΠΌ ΠΏΡΠΈΠ±ΡΠ»ΠΈ ΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ΄Π΅Π»ΠΊΠΈ)
profit2β ΠΎΠ±ΡΠ°Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΈΠ±ΡΠ»Ρ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠ΄Π°ΠΆΠΈ
2. ΠΡΠΎΡ ΠΎΠ΄ ΠΏΠΎ ΠΌΠ°ΡΡΠΈΠ²Ρ: ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ΅Π½Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
text3. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ profit2 β ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ±ΡΠ»Ρ ΠΏΠΎΡΠ»Π΅ Π΄Π²ΡΡ ΡΠ΄Π΅Π»ΠΎΠΊ.
Python ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
textΠΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π·Π°Π΄Π°ΡΠΈ 122
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΄Π΅Π»ΠΎΠΊ: Π Π·Π°Π΄Π°ΡΠ΅ 122 ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ²Π΅ΡΡΠ°ΡΡ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΄Π΅Π»ΠΎΠΊ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Π΄Π²ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ. ΠΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° β Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΏΡΠΈΠ±ΡΠ»ΡΠ½ΡΡ ΠΎΡΡΠ΅Π·ΠΊΠΎΠ² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π΄Π²Π΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²ΡΠ³ΠΎΠ΄Π½ΡΠ΅ ΡΠ΄Π΅Π»ΠΊΠΈ.
Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°: Π Π΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ 122 ΠΈΠΌΠ΅Π΅Ρ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ O(n) Ρ ΠΏΡΠΎΡΡΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π·Π°Π΄Π°ΡΠ° 123 ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π΄Π²ΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΄Π΅Π»ΠΎΠΊ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Ρ ΠΎΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ O(n).
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ: ΠΠ»Ρ ΡΠ΅Π½ [3,3,5,0,0,3,1,4]:
Π Π·Π°Π΄Π°ΡΠ΅ 122 ΠΏΡΠΈΠ±ΡΠ»Ρ ΡΠΎΡΡΠ°Π²ΠΈΠ»Π° Π±Ρ 5 (0β3 ΠΈ 1β4)
Π Π·Π°Π΄Π°ΡΠ΅ 123 ΠΏΡΠΈΠ±ΡΠ»Ρ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 6 (0β3 ΠΈ 1β4), ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ Π΄Π²ΡΠΌΡ ΡΠ΄Π΅Π»ΠΊΠ°ΠΌΠΈ ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅: ΠΠ°Π΄Π°ΡΠ° 123 ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅Ρ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π±ΡΠΎΠΊΠ΅ΡΡΠΊΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΈΡΡΠΈΠΈ Π΄Π΅Π»Π°ΡΡ ΡΠ°ΡΡΡΠ΅ ΡΠ΄Π΅Π»ΠΊΠΈ Π½Π΅Π²ΡΠ³ΠΎΠ΄Π½ΡΠΌΠΈ, ΠΈ ΠΈΠ½Π²Π΅ΡΡΠΎΡ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠΎΡΠ³ΠΎΠ²Π»ΠΈ.