Вот вопрос:
Учитывая отсортированный список, скажем, целых чисел (вы можете предположить, что они положительны, если это упрощает задачу), разбейте список на 'n'равные по размеру разделы (или настолько равные, насколько это возможно), при условии ограничения, что ни одно из целых чисел не появляется более чем в одном таком разделе.
Ограничение по сути означает, что если у вас есть список {1,1,2, 2}
тогда все они должны быть в одном наборе, и все 2 должны быть в одном наборе.Все 1 и 2 также могут быть в одном наборе.Но у нас не может быть одного из 1 в первом разделе и второго 1 во втором разделе.
Пример 1: </p>
<pre><code> List: {1,1,2,2,3,3,4,4}
Number of partitions to make: 4
Answer: {1,1} {2,2} {3,3} {4,4}
Пример2: (хитрее)
List: {1,1,2,2,2,3,3,4,4,4,4,4,4,4,4}
Number of partitions to make : 3
Answer: {1,1,2,2} {3,3} {4,4,4,4,4,4,4,4}
OR: {1,1} {2,2,3,3} {4,4,4,4,4,4,4,4}
</code>
Обратите внимание здесь, что третий раздел должен иметь размер 8, потому что из-за ограничения все 4 должны быть втот же раздел.
Может быть множество других сложных случаев.Дайте мне знать, если кому-то понадобится больше примеров.
Итак, вопрос в том, как лучше всего подойти или решить эту проблему?