Class Solution

java.lang.Object
g1801_1900.s1861_rotating_the_box.Solution

public class Solution extends Object
1861 - Rotating the Box.<p>Medium</p> <p>You are given an <code>m x n</code> matrix of characters <code>box</code> representing a side-view of a box. Each cell of the box is one of the following:</p> <ul> <li>A stone <code>'#'</code></li> <li>A stationary obstacle <code>'*'</code></li> <li>Empty <code>'.'</code></li> </ul> <p>The box is rotated <strong>90 degrees clockwise</strong> , causing some of the stones to fall due to gravity. Each stone falls down until it lands on an obstacle, another stone, or the bottom of the box. Gravity <strong>does not</strong> affect the obstacles&rsquo; positions, and the inertia from the box&rsquo;s rotation <strong>does not</strong> affect the stones&rsquo; horizontal positions.</p> <p>It is <strong>guaranteed</strong> that each stone in <code>box</code> rests on an obstacle, another stone, or the bottom of the box.</p> <p>Return <em>an</em> <code>n x m</code> <em>matrix representing the box after the rotation described above</em>.</p> <p><strong>Example 1:</strong></p> <p><img src="https://assets.leetcode.com/uploads/2021/04/08/rotatingtheboxleetcodewithstones.png" alt="" /></p> <p><strong>Input:</strong></p> <pre><code> box = \[\[&quot;#&quot;,&quot;.&quot;,&quot;#&quot;]] </code></pre> <p><strong>Output:</strong></p> <pre><code> [[&quot;.&quot;], [&quot;#&quot;], [&quot;#&quot;]] </code></pre> <p><strong>Example 2:</strong></p> <p><img src="https://assets.leetcode.com/uploads/2021/04/08/rotatingtheboxleetcode2withstones.png" alt="" /></p> <p><strong>Input:</strong></p> <pre><code> box = \[\[&quot;#&quot;,&quot;.&quot;,&quot;*&quot;,&quot;.&quot;], [&quot;#&quot;,&quot;#&quot;,&quot;*&quot;,&quot;.&quot;]] </code></pre> <p><strong>Output:</strong></p> <pre><code> [[&quot;#&quot;,&quot;.&quot;], [&quot;#&quot;,&quot;#&quot;], [&quot;*&quot;,&quot;*&quot;], [&quot;.&quot;,&quot;.&quot;]] </code></pre> <p><strong>Example 3:</strong></p> <p><img src="https://assets.leetcode.com/uploads/2021/04/08/rotatingtheboxleetcode3withstone.png" alt="" /></p> <p><strong>Input:</strong></p> <pre><code> box = \[\[&quot;#&quot;,&quot;#&quot;,&quot;*&quot;,&quot;.&quot;,&quot;*&quot;,&quot;.&quot;], [&quot;#&quot;,&quot;#&quot;,&quot;#&quot;,&quot;*&quot;,&quot;.&quot;,&quot;.&quot;], [&quot;#&quot;,&quot;#&quot;,&quot;#&quot;,&quot;.&quot;,&quot;#&quot;,&quot;.&quot;]] </code></pre> <p><strong>Output:</strong></p> <pre><code> [[&quot;.&quot;,&quot;#&quot;,&quot;#&quot;], [&quot;.&quot;,&quot;#&quot;,&quot;#&quot;], [&quot;#&quot;,&quot;#&quot;,&quot;*&quot;], [&quot;#&quot;,&quot;*&quot;,&quot;.&quot;], [&quot;#&quot;,&quot;.&quot;,&quot;*&quot;], [&quot;#&quot;,&quot;.&quot;,&quot;.&quot;]] </code></pre> <p><strong>Constraints:</strong></p> <ul> <li><code>m == box.length</code></li> <li><code>n == box[i].length</code></li> <li><code>1 <= m, n <= 500</code></li> <li><code>box[i][j]</code> is either <code>'#'</code>, <code>'*'</code>, or <code>'.'</code>.</li> </ul>
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • rotateTheBox

      public char[][] rotateTheBox(char[][] box)