Алгоритм перестановок операторов и операндов

Я сталкивался с этим вопросом на веб-сайте интервью - нам дают 4 числа, скажем, n1, n2, n3, n4. Мы можем разместить их в любом порядке, и мы можем использовать математические операторы +, -, *, / между ними, чтобы получить конечный результат равным 24. Напишите алгоритм для этого - он будет принимать 4 числа и возвращать false или true независимо от того, будет ли он окончательным. Результат 24 возможен с любой комбинацией. Один и тот же оператор может использоваться несколько раз.

Один из способов сделать это -

Перестановка операторовПереставлять операндыПримените каждую перестановку в 2. к каждой перестановке в 1.

Это решение будет грубой силой и не будет оптимальным решением. Я думаю, что может быть лучшее решение, используя бинарные деревья поиска.

Ответы на вопрос(1)

Ваш ответ на вопрос