Представьте, что вы получили несортированный массив [5,11,7,4,19,8,11,6,17] и максимальный вес 23. [похоже на проблему двух сумм немного по-другому]
Нужно найти два оптимальных веса (под этим я подразумеваю, если два веса, которые (почти или нет) составляют половину веса, который вы пытаетесь найти) в этом случае [5,17], [3,19], [11,11], поэтому мне нужно вернуть [11,11].
Я забрал проблему и не смог ее решить.[Мне не разрешали использовать структуры]
Я пытался сортировать [3, 5, 6, 7, 8, 11, 11, 17, 19] и искать с обоих концов и хранить индексы значений, которые были<= максимальный вес в векторе в виде пары (например, v [i], v [i + 1] и проверяем их позже по их парам), затем возвращаем пару с обоими наибольшими значениями, но запутались. </p>
[хотя веса были двойными, и я не видел дубликатов в этом наборе, я не использовал unsorted_map (hashMap), возможно, это сработало?]
Кто-нибудь может подсказать, как мне решить эту проблему?это похоже на "проблему ранца"?Спасибо