<p>You are given a <strong>0-indexed</strong> 2D integer array <code>grid</code> of size <code>m x n</code>. Each cell has one of two values:</p>
<ul>
<li><code>0</code> represents an <strong>empty</strong> cell,</li>
<li><code>1</code> represents an <strong>obstacle</strong> that may be removed.</li>
</ul>
<p>You can move up, down, left, or right from and to an empty cell.</p>
<p>Return <em>the <strong>minimum</strong> number of <strong>obstacles</strong> to <strong>remove</strong> so you can move from the upper left corner </em><code>(0, 0)</code><em> to the lower right corner </em><code>(m - 1, n - 1)</code>.</p>