java.lang.Object
g2201_2300.s2232_minimize_result_by_adding_parentheses_to_expression.Solution

public class Solution extends Object
2232 - Minimize Result by Adding Parentheses to Expression.<p>Medium</p> <p>You are given a <strong>0-indexed</strong> string <code>expression</code> of the form <code>&quot;<num1>+<num2>&quot;</code> where <code><num1></code> and <code><num2></code> represent positive integers.</p> <p>Add a pair of parentheses to <code>expression</code> such that after the addition of parentheses, <code>expression</code> is a <strong>valid</strong> mathematical expression and evaluates to the <strong>smallest</strong> possible value. The left parenthesis <strong>must</strong> be added to the left of <code>'+'</code> and the right parenthesis <strong>must</strong> be added to the right of <code>'+'</code>.</p> <p>Return <code>expression</code> <em>after adding a pair of parentheses such that</em> <code>expression</code> <em>evaluates to the <strong>smallest</strong> possible value.</em> If there are multiple answers that yield the same result, return any of them.</p> <p>The input has been generated such that the original value of <code>expression</code>, and the value of <code>expression</code> after adding any pair of parentheses that meets the requirements fits within a signed 32-bit integer.</p> <p><strong>Example 1:</strong></p> <p><strong>Input:</strong> expression = &ldquo;247+38&rdquo;</p> <p><strong>Output:</strong> &ldquo;2(47+38)&rdquo;</p> <p><strong>Explanation:</strong> The <code>expression</code> evaluates to 2 * (47 + 38) = 2 * 85 = 170.</p> <p>Note that &ldquo;2(4)7+38&rdquo; is invalid because the right parenthesis must be to the right of the <code>'+'</code>.</p> <p>It can be shown that 170 is the smallest possible value.</p> <p><strong>Example 2:</strong></p> <p><strong>Input:</strong> expression = &ldquo;12+34&rdquo;</p> <p><strong>Output:</strong> &ldquo;1(2+3)4&rdquo;</p> <p><strong>Explanation:</strong> The expression evaluates to 1 * (2 + 3) * 4 = 1 * 5 * 4 = 20.</p> <p><strong>Example 3:</strong></p> <p><strong>Input:</strong> expression = &ldquo;999+999&rdquo;</p> <p><strong>Output:</strong> &ldquo;(999+999)&rdquo;</p> <p><strong>Explanation:</strong> The <code>expression</code> evaluates to 999 + 999 = 1998.</p> <p><strong>Constraints:</strong></p> <ul> <li><code>3 <= expression.length <= 10</code></li> <li><code>expression</code> consists of digits from <code>'1'</code> to <code>'9'</code> and <code>'+'</code>.</li> <li><code>expression</code> starts and ends with digits.</li> <li><code>expression</code> contains exactly one <code>'+'</code>.</li> <li>The original value of <code>expression</code>, and the value of <code>expression</code> after adding any pair of parentheses that meets the requirements fits within a signed 32-bit integer.</li> </ul>
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • minimizeResult

      public String minimizeResult(String expression)