Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
π λ¬Έμ λ§ν¬
Minimum Time to Visit a Cell In a Grid
βοΈ μμλ μκ°
5μκ°
β¨ μλ μ½λ
κ°μ
m, nμ ν¬κΈ°λ₯Ό μ§λκ³ μμ μ μλ₯Ό μ μΈν μμλ€λ‘ ꡬμ±λ 그리λκ° μ‘΄μ¬νλ€.
0, 0μμ μ¬μ©μκ° μΆλ°νμ¬ m-1, n-1μ μμΉλ‘ μ΄λν λ
μ, ν, μ’, μ° λ‘ μ΄λν μ μμΌλ©° ν λ²μ μ΄λλΉ μκ°μ΄ 1μ© μ€λ₯΄λ©° κ° μμμ μ«μκ° νμ¬ μ΄λν μκ° Time λ³΄λ€ μκ±°λ κ°μμΌ ν΄λΉ μμμ μΉΈμΌλ‘ μ΄λμ΄ κ°λ₯νλ€.
μ¦, Time λ³΄λ€ μκ±°λ κ°μ λ ν΄λΉ μμμ λ Έλλ‘ μ΄λμ΄ κ°λ₯.
λ§μ½ λλ¬ν μ μλ κ²½μ°μ μκ° μλ€λ©΄ -1μ 리ν΄
μ κ·Ό λ°©μ
μ°μ μ¬ν μΌλ° BFSμ λ¬Έμ λ λ€λ¦ μλ€.
λ¬Έμ λ₯Ό μ½μμ λ κ²½λ‘λ₯Ό μ°Ύλ λ¬Έμ μ΄κΈ° λλ¬Έμ DFS, BFSλ‘ μ’ν μ μμΌλ©° λμ΄λ 10^5μΈ μ μ κ°μνλ©΄ DFSλ‘λ μκ° μ΄κ³Όκ° λ κ²μ΄κΈ°μ BFSλ‘ μ κ·Όνλ€.
μ¬κΈ°μ κ΄μ μ ν μ§μ μΌλ‘ μ΄λνκΈ° μν΄ λ°λ³΅μ μΈ λ Έλλ₯Ό μλ€κ°λ€ν΄μ μκ°μ λ²ν°λ λ°©λ²μ μ΄λ»κ² νννλ©΄ μ’μκΉ μλ€.
μ¦.
μμ μμλ₯Ό λ°νμΌλ‘ 0, 0μμ Time = 0 μΌ λ κ³ λ €λ₯Ό ν΄λ³΄λ©΄
μ€λ₯Έμͺ½ 1λ‘ μ΄λμ Time = 1μ΄ λκ³ Timeκ³Ό μμλ κ°κΈ° λλ¬Έμ μ΄λμ΄ κ°λ₯.
t = 1, we move to the cell (0,1). It is possible because grid[0][1] <= 1. μ΄λ κ² ννμ νλ€κ³ νμμ λ
μ 체 μ΄λ λ Έμ κ³Ό Timeμ νννλ©΄ μ΄λ λ€.
μ¬κΈ°μ (1,2) = 2 μμ (1,3) = 5λ‘ μ΄λνλ λΆλΆμ μ΄ν΄λ³΄λ©΄
μ²μ (1,2)μ μ§μ νμ λμ μκ°μ 3μ΄λ€. κ·Έλ¬λ (1,3)μ μμ κ°μ 5μ΄κΈ°μ μκ°μ΄ λΆμ‘±νλ€.
μκ°μ μ±μ°κΈ° μν΄ μ΄μ μ λ Έλλ₯Ό λ°λ³΅ λ°©λ¬Ένλ©΄μ 5λ³΄λ€ ν¬κ±°λ κ°μ λ κΉμ§ μκ°μ λμ΄λ€.
(1,2) -> (1,1) -> (1,2) -> (1,3)
T:3 4 5 6
μ΄λ° μμΌλ‘ λ§μ΄λ€.
μ΄ λΆλΆμ νννκΈ° μν΄μ κ³ λ―Όμ λ§μ΄ νλ€.
νΉν μκ°μ ννν΄μ£ΌκΈ° μν΄μ visited (μ¬κΈ°μ val) 2μ°¨μ λ°°μ΄μ bool νμμ΄ μλ int νμμΌλ‘ μ§μ ν΄ λ΄κ° μ§λκ°λ μκ°μ μ€μ μΌλ‘ κΈ°λ‘νλ©° λκ°λ€.
κ·Έλ¬λ μμΈ μ²λ¦¬κ° κΉλ€λ‘μ λ€.
νΉν λ°λ³΅νλ μ§μ μ μ΅μλ‘ λ§μΆ°μΌν μ§, μ΅λλ‘ μ λ°μ΄νΈλ₯Ό ν΄μΌν μ§ κ³ λ―Όμ λΉ μ§ κ²μ΄λ€.
μ΅μ κ²½λ‘λ₯Ό μ°ΎκΈ° μν΄ μ΄λ―Έ λ°©λ¬Ένλ κ²½λ‘λ μ¬ λ°©λ¬Ένλ κ²μ΄ λΆκ°λ₯νμ§λ§ μ¬κΈ°λ μκ°μ λμ°κΈ° μν΄ μ¬ λ°©λ¬ΈμΌλ‘ ν΄μΌνλ κ²μ΄μλ€.
νμ§λ§ μ¬λ°©λ¬Έμ νλ½νκ² λλ€λ©΄ μκ° μ΄κ³Όκ° λ κ²μ΄ λΆλͺ νκΈ°μ μΌλ°μ μΈ νκ° μλ μ°μ μμ νλ₯Ό νμ©νμ¬ κ°μ₯ μμ μκ°μ μ§λ λ Έλλ€ λΆν° νμνλ λ°©μμ΄λ€.
μ°μ μμ νμ λ€μ΄κ°λ μμλ λ°°μ΄λ‘ μ§μ νμ¬ {Time, Y, X} λ₯Ό λ£μ΄ Timeμ μ€μ μΌλ‘ κ°μ₯ 짧μ Timeμ μ§λ μ§μ λΆν° λ°©λ¬Ένλ κ²μ΄μλ€.
κ·Έλ¦¬κ³ Timeλ³΄λ€ ν° μμλ€μ μ§μ μ λ°©λ¬Ένμ§ μκ³ κ·Έ μ£Όλ³μ λ°©λ¬Έ κ°λ₯ν μμλ€μμ 1μ© κ°μ μ¬λ¦° ν μ λ°μ΄νΈ νλ λ°©μμΌλ‘ μ€μ νλ κ²μ΄μλ€.
μ΄λ° μμΌλ‘ λ§μ΄λ€!
νμ§λ§ λ¬Έμ μ μ μμΈ μ²λ¦¬λ₯Ό ν΄κ²°νμ§ λͺ»ν κ²μ΄μλ€.
Tκ°μ μ¬λ € ν΄κ²°ν μ μμ§λ§ κ·Έ μ΄μ μ λ°©λ¬Ένλ λ Έλλ€ μμ κ°μ΄ μ λ°μ΄νΈλκΈ° λλ¬Έμ μκ° μ΄κ³Όκ° λ°μν μ λ°μ μλ€...
κ·Έλμ ννΈλ₯Ό μ°Έκ³ νμ λ
κ·Έλ₯ κΈ°λ‘λλ μκ° μ체λ₯Ό κ³μ°ν΄λ²λ¦¬λ κ²μ΄μλ€..!
μ¬κΈ°μ λ€ν΅μλ₯Ό λ§μ λλμ΄μλ€.
λ νμ΄μ€λ κ·Έλνμ λ¬Έμ λ μμ°¨μ μΌλ‘ λ°©λ¬ΈνκΈ° λλ¬Έμ λ 1μ κ°λ§ μ¦κ°ν΄μ€λ κ΄λ μ μ¬λ‘μ‘ν μνμ μΌλ‘ μ κ·Όνμ§ λͺ»ν κ²μ΄μλ€..!
λ€μ μκ°μ
νμ¬ μκ° + 1
μ ν κ²κ³ΌμΈμ λ Έλκ° μ§λ μμ κ° - νμ¬ μκ°
μ2
λ‘ λλ λλ¨Έμ§μ κ°μ λ°νμΌλ‘ κ°μ μ€μ ν΄λ²λ¦¬λ©΄ λ΄κ° κ³ λ―Όνλ κ²λ€μ΄ ν΄κ²°λλ€.μ¦, μΌμΌμ΄ λ€μ λ°©λ¬Ένλ©΄μ μ°μ μμνμ μ§μ΄ λ£λ κ² μλ. ν λ²μ κ³μ° μ²λ¦¬λ₯Ό ν¨μΌλ‘μ¨ μ€λ³΅μ μΌλ‘ λ°μνλ λ°©λ¬Έ κ²½λ‘λ₯Ό μΆμ½μν¨ κ²μ΄λ€.
μ¬κΈ°μ μ μ‘μμΌ λλ λΆλΆμ λ°λ‘ μΈμ λ Έλμ λλ¨Έμ§ μκ°μ΄ νμλ μ§μλμ λ°λΌ 0κ³Ό 1μ΄ κ²°μ λλ μ μ΄λ€.
λ§μ½ μ§μμ κ²½μ°λ₯Ό κ³ λ €ν΄λ³΄μ.
2μμ 4μ μμλ‘ λμ΄ κ° κ²½μ°. 4λ Timeμ΄ 4μ΄μμΌ λ λ°©λ¬Έμ΄ κ°λ₯νλ€. κ·Έλ¬λ 2μ μμμ λλ¬νμ λ Timeμ 2μ΄λ€.
μΈμ μμ
4 - 2(Time)
μ νλ©΄ 2λ‘ μ§μμ΄λ€.μ΄μ μκ² λκ°? 2μμ 4λ‘ λμ΄κ°λ €λ©΄ 2λ²μ νμμ 건λμΌ νλ€.
μ¦. 2μμ 1λ‘ νλ² κ°λ€κ° 2λ‘ λ€μ λμμ€λ μμ μ΄ν λ°©λ¬Έμ΄ κ°λ₯νλ€.
κ·ΈλΌ 2μΌ λ Timeμ 2, 1μΌ λ Timeμ 3, 2μΌ λ Timeμ 4μ΄κΈ°μ μ΄νμ 4μ λ°©λ¬Έν μ μλλ° μ¬κΈ°μ 4μ λλ¬νκ² λλ©΄ Timeμ 4μ΄λ€.
κ·Έλ κΈ° λλ¬Έμ μ§μμ κ²½μ° 1μ λ€μ μΈμ ν λ Έλμ λν΄ μ€μΌλ‘μ¨ λ°λ³΅μ κ²½μ°μ μλ₯Ό λν΄ μ€ κ²μΌλ‘ λ³Ό μ μλ€.
5μ κ²½μ° μΌλλ 5 - 2λ 3μΌλ‘ νμμ΄κΈ°μ μΈμ λ Έλ 5μ λ°©λ¬Έ Timeμ 5λ‘ κ·Έ μ체μ κ°μ΄ λ€μ λ°©λ¬Έ μκ°μ΄ λλ€.
λ§μ§λ§μΌλ‘ μ¬κΈ°μ κ°μ₯ μ€μν μμΈλ κ²½λ‘κ° μλ κ²μΈλ°.
μ΄ μμΈ μΌμ΄μ€λ μμν λ λ§κ³ λ μλ κ² κ°λ€.
μμν λ μ΄λν μ μλ λ Έλκ° μ‘΄μ¬νλ€λ©΄ κ±°κΈ°μ λ€μ λ ΈλκΉμ§ 무νμ λ°λ³΅ν΄μ£Όλ©΄ μ΄λ λͺ»νλ κ³³μ΄ μμ κ²μ΄λ€.
κ³ λ‘ 0,0μμ μΆλ°ν λ μ€λ₯Έμͺ½, μλ λ Έλκ° 2 λ―Έλ§ μ΄κΈ°λ§νλ©΄ 무쑰건 ν΅κ³Όν μ μκΈ°μ 맨 μ²μμ μμΈ μ¬νλ§ μ 체ν¬ν΄μ£Όλ©΄ λλ€!
μμ€ μ½λ
π μλ‘κ² μκ²λ λ΄μ©
μλ§ κ°μ₯ μ½κ² ν μ μμμμλ λ κ°μ μ¬λλ€μ κ³¨λ €μ£ΌκΈ° μν΄ μ€λΉν λ¬Έμ κ° μλκΉ μΆλ€... μ μμμ μλμ μ λλ‘ λμλ κ² κ°λ€!