Skip to content

Commit be3a2aa

Browse files
committed
feat: add typescript solution to lc problem: No.2232
No.2232.Minimize Result by Adding Parentheses to Expression
1 parent 61d5449 commit be3a2aa

File tree

3 files changed

+78
-2
lines changed

3 files changed

+78
-2
lines changed

solution/2200-2299/2232.Minimize Result by Adding Parentheses to Expression/README.md

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,32 @@
7777
### **TypeScript**
7878

7979
```ts
80-
80+
function minimizeResult(expression: string): string {
81+
const [n1, n2] = expression.split('+');
82+
let minSum = Number.MAX_SAFE_INTEGER;
83+
let ans = '';
84+
let arr1 = [],
85+
arr2 = n1.split(''),
86+
arr3 = n2.split(''),
87+
arr4 = [];
88+
while (arr2.length) {
89+
arr3 = n2.split(''), arr4 = [];
90+
while (arr3.length) {
91+
let cur = (getNum(arr2) + getNum(arr3)) * getNum(arr1) * getNum(arr4);
92+
if (cur < minSum) {
93+
minSum = cur;
94+
ans = `${arr1.join('')}(${arr2.join('')}+${arr3.join('')})${arr4.join('')}`;
95+
}
96+
arr4.unshift(arr3.pop());
97+
}
98+
arr1.push(arr2.shift());
99+
}
100+
return ans;
101+
};
102+
103+
function getNum(arr: Array<string>): number {
104+
return arr.length ? Number(arr.join('')) : 1;
105+
}
81106
```
82107

83108
### **...**

solution/2200-2299/2232.Minimize Result by Adding Parentheses to Expression/README_EN.md

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,32 @@ It can be shown that 170 is the smallest possible value.
7070
### **TypeScript**
7171

7272
```ts
73-
73+
function minimizeResult(expression: string): string {
74+
const [n1, n2] = expression.split('+');
75+
let minSum = Number.MAX_SAFE_INTEGER;
76+
let ans = '';
77+
let arr1 = [],
78+
arr2 = n1.split(''),
79+
arr3 = n2.split(''),
80+
arr4 = [];
81+
while (arr2.length) {
82+
arr3 = n2.split(''), arr4 = [];
83+
while (arr3.length) {
84+
let cur = (getNum(arr2) + getNum(arr3)) * getNum(arr1) * getNum(arr4);
85+
if (cur < minSum) {
86+
minSum = cur;
87+
ans = `${arr1.join('')}(${arr2.join('')}+${arr3.join('')})${arr4.join('')}`;
88+
}
89+
arr4.unshift(arr3.pop());
90+
}
91+
arr1.push(arr2.shift());
92+
}
93+
return ans;
94+
};
95+
96+
function getNum(arr: Array<string>): number {
97+
return arr.length ? Number(arr.join('')) : 1;
98+
}
7499
```
75100

76101
### **...**
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
function minimizeResult(expression: string): string {
2+
const [n1, n2] = expression.split('+');
3+
let minSum = Number.MAX_SAFE_INTEGER;
4+
let ans = '';
5+
let arr1 = [],
6+
arr2 = n1.split(''),
7+
arr3 = n2.split(''),
8+
arr4 = [];
9+
while (arr2.length) {
10+
arr3 = n2.split(''), arr4 = [];
11+
while (arr3.length) {
12+
let cur = (getNum(arr2) + getNum(arr3)) * getNum(arr1) * getNum(arr4);
13+
if (cur < minSum) {
14+
minSum = cur;
15+
ans = `${arr1.join('')}(${arr2.join('')}+${arr3.join('')})${arr4.join('')}`;
16+
}
17+
arr4.unshift(arr3.pop());
18+
}
19+
arr1.push(arr2.shift());
20+
}
21+
return ans;
22+
};
23+
24+
function getNum(arr: Array<string>): number {
25+
return arr.length ? Number(arr.join('')) : 1;
26+
}

0 commit comments

Comments
 (0)