Когда я запускаю ее на платформе, вместо этого я получаю максимум 63% баллов. 100 %, поскольку некоторые тесты занимают много времени.
Постановка задачи
В списке целых чисел повторение представляет собой пару одинаковых чисел. которые примыкают друг к другу. Например, в списке 1 3 3 4 2 2 1 1 1 четыре повторения: две тройки, затем две двойки, затем две последующие единицы и, наконец, две единицы в конце списка.< /p>
Вам дан список целых чисел. Напишите программу, которая вычисляет минимальное количество повторений, которое может остаться в списке после удаления всех вхождений одного из чисел.
Вывод
Вам следует вывести одно число: минимальное количество повторений, которое может остаться после удаления всех вхождений одного из чисел в списке.
Примеры
Вот пример ввода:
Код: Выделить всё
liste = [1, 3, 2, 2, 3, 4, 4, 2, 1]
- При удалении единиц остаются два повторения;
< li>Удаление двойок объединяет тройки, поэтому мы удалили одно повторение и добавили одно. Осталось еще два повторения; - Удаление троек оставляет два повторения;
- Удаление четверок оставляет только одно повторение.
Код: Выделить всё
1
- Ограничение по времени: 1000 мс.
- Ограничение памяти: 64 000 Кб.
Решение 1
Код: Выделить всё
lst = [1, 3, 2, 2, 3, 4, 4, 2, 1]
# lst = [1,3,3,4,2,2,1,1,1]
def count_repetitions(lst):
count = 0
for i in range(1, len(lst)):
if lst[i] == lst[i - 1]:
count += 1
return count
unique_numbers = set(lst)
min_repetitions = float('inf')
for num in unique_numbers:
filtered_list = [x for x in lst if x != num]
repetitions = count_repetitions(filtered_list)
min_repetitions = min(min_repetitions, repetitions)
print(min_repetitions)
Код: Выделить всё
liste = [1, 3, 2, 2, 3, 4, 4, 2, 1]
# liste = [1,3,3,4,2,2,1,1,1]
repmin=100000
listunique =[]
for v in liste:
if v not in listunique:
listunique.append(v)
for x in listunique:
listWithoutx = []
for i in liste:
if i!=x:
listWithoutx.append(i)
rep=0
for j in range(len(listWithoutx)-1):
if listWithoutx[j]==listWithoutx[j+1]:
rep+=1
if rep
Подробнее здесь: [url]https://stackoverflow.com/questions/78684013/only-score-of-63-instead-of-100-python-program[/url]