По сути, у нас есть строковое выражение чисел и операторов, и выходные данные должны возвращать все возможные результаты вычисления всех возможных способов группировки чисел и операторов. Получение разных результатов путем помещения операций в круглые скобки.
Example 1:
Input: expression = "2-1-1"
Output: [0,2]
Explanation:
((2-1)-1) = 0
(2-(1-1)) = 2
Example 2:
Input: expression = "2*3-4*5"
Output: [-34,-14,-10,-10,10]
Explanation:
(2*(3-(4*5))) = -34
((2*3)-(4*5)) = -14
((2*(3-4))*5) = -10
(2*((3-4)*5)) = -10
(((2*3)-4)*5) = 10
вот мой фрагмент кода
class Solution {
public List diffWaysToCompute(String expression) {
ArrayList result = new ArrayList();
if (!expression.contains("+") && !expression.contains("-") && !expression.contains("*")) {
result.add(Integer.parseInt(expression));
}
for(int i=0 ; i
Подробнее здесь: https://stackoverflow.com/questions/790 ... evaluation