Class Solution

java.lang.Object
g0501_0600.s0546_remove_boxes.Solution

public class Solution extends Object
546 - Remove Boxes.<p>Hard</p> <p>You are given several <code>boxes</code> with different colors represented by different positive numbers.</p> <p>You may experience several rounds to remove boxes until there is no box left. Each time you can choose some continuous boxes with the same color (i.e., composed of <code>k</code> boxes, <code>k >= 1</code>), remove them and get <code>k * k</code> points.</p> <p>Return <em>the maximum points you can get</em>.</p> <p><strong>Example 1:</strong></p> <p><strong>Input:</strong> boxes = [1,3,2,2,2,3,4,3,1]</p> <p><strong>Output:</strong> 23</p> <p><strong>Explanation:</strong></p> <pre><code> [1, 3, 2, 2, 2, 3, 4, 3, 1] ----> [1, 3, 3, 4, 3, 1] (3\*3=9 points) ----> [1, 3, 3, 3, 1] (1\*1=1 points) ----> [1, 1] (3\*3=9 points) ----> [] (2\*2=4 points) </code></pre> <p><strong>Example 2:</strong></p> <p><strong>Input:</strong> boxes = [1,1,1]</p> <p><strong>Output:</strong> 9</p> <p><strong>Example 3:</strong></p> <p><strong>Input:</strong> boxes = [1]</p> <p><strong>Output:</strong> 1</p> <p><strong>Constraints:</strong></p> <ul> <li><code>1 <= boxes.length <= 100</code></li> <li><code>1 <= boxes[i] <= 100</code></li> </ul>
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • removeBoxes

      public int removeBoxes(int[] boxes)