Один подход к этой самой проблеме рассматривается в книге Введение в алгоритмы (Cormen, Leiserson, Rivest, Stein) как проблема 15-2 .
Приближается подход, заключающийся в том, что красиво разбитый блок текста имеет как можно более равномерный интервал в конце, наказывая большие различия.
Эту проблему можно решить с помощью динамического программирования .
Естественно, это только один подход к проблеме, но, на мой взгляд, он, по крайней мере, выглядит лучше, чем жадный алгоритм.
Я не так много для того, чтобы размещать свои решения проблем учебников в Интернете, поэтому я оставляю вам решать либо Google, либо решение, чтобы найти точный алгоритм.