| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,35 @@ | |||
| 1 | + /** | ||
| 2 | + * @param {string} input | ||
| 3 | + * @return {number[]} | ||
| 4 | + */ | ||
| 5 | + var diffWaysToCompute = function (input) { | ||
| 6 | + return compute(input); | ||
| 7 | + }; | ||
| 8 | + | ||
| 9 | + function compute(str) { | ||
| 10 | + var res = []; | ||
| 11 | + var regex = /\+|\-|\*/; | ||
| 12 | + | ||
| 13 | + if (!regex.test(str)) { | ||
| 14 | + return [parseInt(str)]; | ||
| 15 | + } | ||
| 16 | + for (var i = 0; i < str.length; i++) { | ||
| 17 | + if (regex.test(str[i])) { | ||
| 18 | + var left = compute(str.substring(0, i)); | ||
| 19 | + var right = compute(str.substring(i + 1)); | ||
| 20 | + | ||
| 21 | + for (var j = 0; j < left.length; j++) { | ||
| 22 | + for (var k = 0; k < right.length; k++) { | ||
| 23 | + if (str[i] === '+') { | ||
| 24 | + res.push(parseInt(left[j] + right[k])); | ||
| 25 | + } else if (str[i] === '-') { | ||
| 26 | + res.push(parseInt(left[j] - right[k])); | ||
| 27 | + } else if (str[i] === '*') { | ||
| 28 | + res.push(parseInt(left[j] * right[k])); | ||
| 29 | + } | ||
| 30 | + } | ||
| 31 | + } | ||
| 32 | + } | ||
| 33 | + } | ||
| 34 | + return res; | ||
| 35 | + } | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments