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