Перебор всех чисел
Существует некое число(n) из него нужно удалить k элементов и найти наименьшее возможное число, после удаления, не меняя расположение элементов Пример:
1124000056 - число
4 - кол-во удаляемых цифр
56 - результат, т.к. при выводе целого числа будет выводится без нулей
____
1234
2
12
____
100
1
0
____
10200
1
200
Ответы (2 шт):
Автор решения: handowl
→ Ссылка
from itertools import combinations
tests = [('1124000056', 4),
('1234', 2),
('100', 1),
('10200', 1)
]
for n, k in tests:
print(min([int(''.join(i)) for i in combinations(n, len(n)-k)]))
Автор решения: Danis
→ Ссылка
def f(n, k):
for _ in range(k):
x = [n[:i] + n[i+1:] for i in range(len(n))]
n = min(x, key=int)
return int(n)
tests = [
('1124000056', 4),
('1234', 2),
('100', 1),
('10200', 1)
]
for n, k in tests:
print(f(n, k))