title: Shortest path in 2d arrays
body: <pre><code>*...*..D
  .G..*.....
  **...**.
  .S....*.
  ........
  ...G**..
  ........
  .G..*...
  </code></pre>
  
  <p>Here is 2d array where
  <br>S- Source<br>D-Destination<br>G-Point must be visited<br>." . "Free paths<br>"*"Block Paths<br>Can you help me which would be the efficient algorithm to find the length of shortest pathi in java<br>Only Horizontal and Vertical movements are possiable</p>