Ниже приведен фрагмент кода, где brack - это набор скобок, которые сбалансированы, а myExpression содержит логическую операцию, которая может иметь |и оператор.Есть ли способ, которым я могу напечатать все возможные комбинации скобок.
/* // myExpression=a|b|c&d brack=((())) */
brack = brack.substring(0,1) + brack.substring(1,2) + brack.substring(2,3) +
myExpression.substring(0,3) + brack.substring(3,4) +
myExpression.substring(3,5) + brack.substring(4,5) +
myExpression.substring(5,7) + brack.substring(5,6);
Это ручной подход, который я пробовал.Они должны вывести (((a|b)|c)&d), (a|(b|(c&d))), ((a|b)|(c&d)), (a|((b|c)&d)), ((a|(b|c))&d)
, и как только мы увеличим скобки и длину выражения, он должен показать все возможные комбинации скобок и переменных.