У меня был такой же подход. Потому что я не понял, как использовать модуль (%) оператора.
6% 3 = 0 * Это означает, что если вы разделите 6 на 3, у вас не будет остатка, 3 - коэффициент 6.
Теперь вам нужно связать его с вашим заданная проблема.
, если n% 3 == 0 * Это означает, что если мое число (n) делится на 3, оставив остаток 0.
Добавьте ваш оператор (печать, возврат) и продолжите свой
Вам понадобится сортированный набор, ограниченный определенным количеством предметов. Возможно, некоторые библиотеки сторонних коллекций предоставляют его, в противном случае вы можете сделать это как-то так: Limited SortedSet . Важно то, что метод add
такого отсортированного набора должен возвращать false
, если коллекция заполнена, а добавленный элемент выходит за пределы, а true
в противном случае.
Теперь сделайте цикл по CSV-файлам. Внутри тела цикла читайте записи из файла CSV и добавляйте их в набор до тех пор, пока add
не вернет false (это будет означать, что коллекция заполнена и никакие новые записи из текущего CSV не будут больше, чем текущие - время перейти к следующему файлу).
Когда цикл будет завершен, ответом будет результирующий набор.