Просто танцевали собеседование, где меня попросили реализовать функцию с этой подписью:
function justify($str_in, $desired_length)
Ему нужно подражать тому, что HTML text-align: justify будет делать, вот некоторые примеры (wish_length = 48)
привет мир там ок тогда = привет...... мир...... там....... хорошо....... тогда привет =..................... привет..................... ok then = ok......................................... то эта строка почти наверняка длиннее 48, я думаю = this.string.is.almost.certainly.longer.than.48. два слова = два....................................... слова три слова ok = три................. ok.................. слова 1 2 3 4 5 6 7 8 9 = 1.... 2.... 3..... 4..... 5..... 6..... 7..... 8..... 9
(Я заменил пробелы на периоды, чтобы проиллюстрировать)
Длина пробелов между словами никогда не может отличаться более чем на один.
Я написал PHP-решение, но меня больше интересуют, какие алгоритмы могут решить люди, чтобы решить проблему. Это был мой первый вопрос с доской на собеседовании, и я боюсь, что сочетание факторов заставило меня уйти дольше, чем я должен был.