У меня есть два объекта фильма, называемых DVD и VHS. Я бы хотел найти симметричную разницу этих массивов. Я хочу знать, какие фильмы в VHS покупают не на DVD, а какие фильмы находятся на DVD, но не в VHS.Симметричная разность двух массивов
Может ли кто-нибудь сказать мне, есть ли быстрый алгоритм для его решения (желательно в C или Objective-C)? Это быстрее/проще решить, если я использую словари? Что называется такой проблемой (или это просто «симметричная разница»)?
Спасибо.
Симметричная разность - это '(объединение B) минус (A пересекается B)' или эквивалентно, (A минус B) объединение (B минус A) '. – kennytm
В моих массивах нет дубликатов. 'intersectsSet:' кажется, возвращает только BOOL, сообщающий вам, пересекаются они или нет. Я ищу противоположность пересечения. Я просмотрел документы «NSSet», но не мог видеть такой метод, как тот, который мне нужен. –
Обратите внимание, что NSMutableSet имеет '-intersectSet:', который фактически удаляет объекты из приемника, чтобы преобразовать его в пересечение. –