Дан список, упорядоченный по неубыванию элементов в нем. Определите, сколько в нем различных элементов.
Ввод | Вывод |
---|---|
1 2 2 3 3 3 |
3 |
Выведите элементы данного списка в обратном порядке, не изменяя сам список.
Ввод | Вывод |
---|---|
1 2 3 4 5 |
5 4 3 2 1 |
Переставьте элементы данного списка в обратном порядке, затем выведите элементы полученного списка.
Эта задача отличается от предыдущей тем, что вам нужно изменить значения
элементов самого списка, поменяв местами A[0]
c A[n-1]
,
A[1]
с A[n-2]
, а затем вывести элементы списка подряд.
Ввод | Вывод |
---|---|
1 2 3 4 5 |
5 4 3 2 1 |
Переставьте соседние элементы списка (A[0]
c A[1]
,
A[2]
c A[3]
и т.д.).
Если элементов нечетное число, то последний элемент остается на своем месте.
Ввод | Вывод |
---|---|
1 2 3 4 5 |
2 1 4 3 5 |
Циклически сдвиньте элементы списка вправо
(A[0]
переходит на место A[1]
,
A[1]
на место A[2]
, ...,
последний элемент переходит на место A[0]
).
Используйте минимально возможное количество операций присваивания.
Ввод | Вывод |
---|---|
1 2 3 4 5 |
5 1 2 3 4 |
В списке все элементы различны. Поменяйте местами минимальный и максимальный элемент этого списка.
Ввод | Вывод |
---|---|
3 4 5 2 1 |
3 4 1 2 5 |
Дан список из чисел и индекс элемента в списке k. Удалите из списка элемент с индексом k, сдвинув влево все элементы, стоящие правее элемента с индексом k.
Программа получает на вход список, затем число k
. Программа сдвигает все элементы,
а после этого удаляет последний элемент списка при помощи метода pop()
.
Программа должна осуществлять сдвиг непосредственно в списке, а не делать это при выводе элементов. Также нельзя использовать дополнительный список.
Ввод | Вывод |
---|---|
7 6 5 4 3 2 1 |
7 6 4 3 2 1 |
Дан список целых чисел, число k
и значение C
.
Необходимо вставить в список на позицию с индексом k
элемент,
равный C
, сдвинув все элементы имевшие индекс не менее k
вправо.
Посколько при этом количество элементов в списке увеличивается,
после считывания списка в его конец нужно будет добавить новый элемент,
используя метод append
.
Вставку необходимо осуществлять уже в считанном списке, не делая этого при выводе и не создавая дополнительного списка.
Ввод | Вывод |
---|---|
7 6 5 4 3 2 1 |
7 6 0 5 4 3 2 1 |
Дан список чисел. Посчитайте, сколько в нем пар элементов, равных друг другу. Считается, что любые два элемента, равные друг другу образуют одну пару, которую необходимо посчитать.
Ввод | Вывод |
---|---|
1 2 3 2 3 |
2 |
1 1 1 1 1 |
10 |
Дан список. Выведите те его элементы, которые встречаются в списке только один раз. Элементы нужно выводить в том порядке, в котором они встречаются в списке.
Ввод | Вывод |
---|---|
1 2 2 3 3 3 |
1 |
Дан список. Не изменяя его и не используя дополнительные списки, определите, какое число в этом списке встречается чаще всего.
Если таких чисел несколько, выведите любое из них.
Ввод | Вывод |
---|---|
1 2 3 2 3 3 |
3 |
Дан список целых чисел. Требуется “сжать” его, переместив все ненулевые элементы в левую часть списка, не меняя их порядок, а все нули - в правую часть. Порядок ненулевых элементов изменять нельзя, дополнительный список использовать нельзя, задачу нужно выполнить за один проход по списку. Распечатайте полученный список.
Ввод | Вывод |
---|---|
4 0 5 0 3 0 0 5 |
4 5 3 5 0 0 0 0 |
N кеглей выставили в один ряд, занумеровав их слева направо числами от 1 до N. Затем по этому ряду бросили K шаров, при этом i-й шар сбил все кегли с номерами от li до ri включительно. Определите, какие кегли остались стоять на месте.
Программа получает на вход количество кеглей N и количество бросков K. Далее идет K пар чисел li, ri, при этом 1≤li≤ri≤ N.
Программа должна вывести последовательность из N символов, где j-й символ
есть “I
”, если j-я кегля осталась стоять, или
“.
”, если j-я кегля была сбита.
Ввод | Вывод |
---|---|
10 3 |
I.....I... |
Известно, что на доске 8×8 можно расставить 8 ферзей так, чтобы они не били друг друга. Вам дана расстановка 8 ферзей на доске, определите, есть ли среди них пара бьющих друг друга.
Программа получает на вход восемь пар чисел, каждое число от 1 до 8 - координаты 8 ферзей.
Если ферзи не бьют друг друга, выведите слово NO
, иначе выведите YES
.
Ввод | Вывод |
---|---|
1 7 |
NO |
1 8 |
YES |
Дан список из N (1 ≤ N ≤ 100000) целых чисел и число K (|K| < 100000). Циклически сдвиньте список на |K| элементов вправо, если K – положительное, и влево, если отрицательное число.
Программа получает на вход список целых чисел, затем число K.
Решение должно иметь сложность O(N), то есть не должно зависеть от K. Дополнительным списком пользоваться нельзя.
Ввод | Вывод |
---|---|
5 3 7 4 6 |
7 4 6 5 3 |