Если compareFunction(a, b) больше 0, сортировка поставит b по меньшему индексу, чем a.
Функция compareFunction(a, b) должна всегда возвращать одинаковое значение для определённой пары элементов a и b. Если будут возвращаться непоследовательные результаты, порядок сортировки будет не определён.
С первым понятно: любую пару сортировка с 1 просто развернёт. Но не выполняется второе условие: если пара придёт с обратном порядке, вернутся «непоследовательные результаты». Так что это хак, который чудным образом проходит тесты (пока-что).
Те задача распределить данный набор блюд (с повторами некоторых позиций) по наборам так, чтобы минимизировать общую цену?
Это похоже на задачу об упаковке (рюкзака).
Вопрос не понятен. Каким образом задаются Комплексы? Зачем вы привели поле type, которое нигде не участвует, но опустили поле price, которое, вероятно, важнее.
Играет ли роль число повторений идентичной строки в исходном массиве?
Code-NaN, один вариант — держать данные отдельно от разметки, это «правильно». Создать объект, где ключи - все возможные id, а значения true или false, в зависимости от выбранности. При событии input обновлять не только наличие/отсутствие классов, но и эти true/false в объекте. В конце смотреть, все ли true:
if (!Object.values(all_ids).some(el => el === false)) {
// у всех true
}
Другой, костыльный г-кодерский вариант это считать классы в jQuery. Взять все .table-item, проверять в цикле, есть ли класс .-active, если хоть у одного нет, можно дальше не проверять. Проверили все, у всех есть .-active, можно показать блок.
avdoshka, вот приняли мою правку вашего вопроса и стал виден скрипт. Ок.
Но теперь не понятно, какая у вас там разметка HTML. Какие «ещё две» картинки показывать.
Пройдите, пожалуйста, на jsFiddle
и сделайте там рабочий пример, чтобы как сейчас - по клику показывалась одна картинка, а рядом ещё две, которые тоже хочется показывать.
Иначе непонятно, как вам помочь.
для чайника поясните: у вершин уникальные id? у рёбер тоже есть id или они только связывают вершины, и считаются идентичными, если соединили совпадающие пары id ?
Приведите минимальный пример входных данных и результатов.
можно домножить процентную динамику на абс. значение изменений, тогда падение на 100% при единичиных событиях и падение на 0.001% при десятках тысяч будут равнозначимы.
Ян, смысл дерева немного в другом: в его обходе. С бинарным деревом вы перемещаетесь от корня, последоватльно отвечая на какой-то вопрос «да–нет».
На Хабре вот норм статья про бинарные деревья.
С первым понятно: любую пару сортировка с 1 просто развернёт. Но не выполняется второе условие: если пара придёт с обратном порядке, вернутся «непоследовательные результаты». Так что это хак, который чудным образом проходит тесты (пока-что).