2232. Minimize Result by Adding Parentheses to Expression
2232. Minimize Result by Adding Parentheses to Expression
1 | You are given a 0-indexed string expression of the form "<num1>+<num2>" where <num1> and <num2> represent positive integers. |
Difficulty : Medium
Solution
Brute force1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26class Solution {
public String minimizeResult(String expression) {
int n = expression.length();
int p = expression.indexOf("+");
int min = Integer.MAX_VALUE;
String ans = "";
for (int l = 0; l < p; l++) {
for (int r = p + 2; r < n + 1; r++) {
int m1 = l > 0? Integer.parseInt(expression.substring(0,l)) : 1;
int m2 = r < n? Integer.parseInt(expression.substring(r)) : 1;
int n1 = Integer.parseInt(expression.substring(l, p));
int n2 = Integer.parseInt(expression.substring(p+1, r));
int cur = m1 * m2 * (n1 + n2);
if (cur < min) {
min = cur;
StringBuilder tmp = new StringBuilder(expression);
tmp.insert(l, "(");
//r+1 because we insert ( in the position l
tmp.insert(r + 1, ")");
ans = tmp.toString();
}
}
}
return ans;
}
}