Class Solution
java.lang.Object
g1801_1900.s1861_rotating_the_box.Solution
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’ positions, and the inertia from the box’s rotation <strong>does not</strong> affect the stones’ 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 = \[\["#",".","#"]]
</code></pre>
<p><strong>Output:</strong></p>
<pre><code> [["."],
["#"],
["#"]]
</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 = \[\["#",".","*","."],
["#","#","*","."]]
</code></pre>
<p><strong>Output:</strong></p>
<pre><code> [["#","."],
["#","#"],
["*","*"],
[".","."]]
</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 = \[\["#","#","*",".","*","."],
["#","#","#","*",".","."],
["#","#","#",".","#","."]]
</code></pre>
<p><strong>Output:</strong></p>
<pre><code> [[".","#","#"],
[".","#","#"],
["#","#","*"],
["#","*","."],
["#",".","*"],
["#",".","."]]
</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 Summary
Constructors -
Method Summary
-
Constructor Details
-
Solution
public Solution()
-
-
Method Details
-
rotateTheBox
public char[][] rotateTheBox(char[][] box)
-