Обработка массивов2
На эту неделю подготовили тренировочный контест по массивам и базовой обработке последовательностей.
В этой подборке собраны задачи на разворот массива, циклический сдвиг, удаление повторов, замену значений, подсчёт элементов, сортировку, разбиение массива, слияние отсортированных последовательностей и простые частотные задачи.
Это хороший контест для тех, кто уже умеет читать массивы и хочет увереннее работать с изменением порядка элементов, поиском, подсчётом и преобразованием последовательностей.
В контест вошли задачи:
- Разворот массива — https://judje.olprog.ru/problem/reverse
- Сдвиг влево — https://judje.olprog.ru/problem/rotateleft
- Удаление повторов — https://judje.olprog.ru/problem/dedup
- Замена элементов — https://judje.olprog.ru/problem/replace
- Подсчёт значения — https://judje.olprog.ru/problem/countvalue
- Сортировка трёх чисел — https://judje.olprog.ru/problem/sort3
- Различные элементы — https://judje.olprog.ru/problem/distinct
- Второй максимум — https://judje.olprog.ru/problem/secondmax2
- Слияние отсортированных массивов — https://judje.olprog.ru/problem/mergesorted
- Разбиение массива — https://judje.olprog.ru/problem/partition
- Перемещение нулей — https://judje.olprog.ru/problem/movezeros
- Сжатие повторов — https://judje.olprog.ru/problem/rle
- Количество равных пар — https://judje.olprog.ru/problem/equalpairs
- Мода массива — https://judje.olprog.ru/problem/mode1
- Поэлементная сумма массивов — https://judje.olprog.ru/problem/elementwisesum
- k-й наименьший элемент — https://judje.olprog.ru/problem/kthsmallest1
Этот контест подойдёт тем, кто хочет:
- закрепить базовую работу с массивами;
- научиться аккуратно менять порядок элементов;
- потренировать подсчёт частот и поиск повторов;
- разобраться со слиянием отсортированных последовательностей;
- лучше понять, когда нужна сортировка, а когда достаточно одного прохода;
- подготовиться к темам на два указателя, сортировки и жадные алгоритмы.
Во время решения полезно обращать внимание на детали:
- нужно ли менять массив на месте или можно создать новый;
- важен ли порядок элементов после обработки;
- что делать с повторяющимися значениями;
- как обрабатывать пустые случаи и массивы из одного элемента;
- нужно ли сохранять стабильный порядок;
- можно ли решить задачу за один проход.
Рекомендуем решать задачи по порядку. Сначала идут простые преобразования массива, затем задачи на подсчёт, уникальность и частоты, а ближе к концу — более алгоритмические идеи: слияние, разбиение, RLE и поиск k-го элемента.
Удачи в решении!
Ждём ваши результаты, вопросы и впечатления от задач.
Комментарии
А почему написано сортировка 3 чисел, а в реальности сортировка массива?
Заменил задачу в процессе, а тут нейминг забыл поменять.