Я пытаюсь придумать алгоритм, который может взять набор цветов X и вернуть новый набор цветов X ', который состоит только из контрастных цветов из исходного набора X. Другими словами, я хочу отфильтровать похожие цвета из прошел в цветовой комплектации. Если вы хотите думать о различиях цветов, можно подумать о том, чтобы отфильтровать все цвета, которые находятся на некотором расстоянии k от любого цвета в наборе.
Кто-нибудь знает, как это сделать за линейное время или за O (N). Я в порядке с другими сложностями времени, а также до тех пор, пока это не O (N ^ 2), каждое решение, которое я придумываю, занимает полиномиальное время. Я попытался свести проблему к знаменитому «найти все пары целых чисел в массиве, сумма которых равна K», но это сокращение не сработало. Я использую метрику deltaE, чтобы определить, насколько далеко друг от друга или насколько различны / контрастируют два цвета.
O(N^2)
сталоO(N.log(N))
или даже меньше - person Spektre   schedule 23.12.2016O(N^2)
такой же, как и вы, но вы должны учитывать, чтоN^2
- это количество возвращаемых цветов .... так что вы не можете опускаться ниже этого - person Spektre   schedule 23.12.2016