Исходя из того, как вы сформулировали этот вопрос, я бы также предположил, что положение слов в вашей таблице нельзя изменить. Я делаю это различие только для того, чтобы подтвердить, что вы не можете сделать что-то легкое и перенести идентичные термины в соседние ячейки.
Что касается окраски ячеек, я думаю, что самым простым решением было бы написать алгоритм, который определяет цвет на основе значений символов ячейки. Благодарим Chroma Hash за то, что это первое, что приходит на ум.
Ваша работа будет осложнена попыткой увеличить различия между соседними ячейками, но есть также несколько полезных примеров. Взгляните на работу Брайана Суда . В зависимости от того, сколько времени вы хотите потратить на обработку этого, вы можете довольно глубоко определить правильное решение, так как я думаю, что это будет приложение теории графов / проблемы затенения вершин или проблемы раскраски карты. Если у вас проблема раскраски карты Google или алгоритм максимального цвета, вы должны быстро утонуть в различных академических подходах.