Это жадный алгоритм, и если да, то почему?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Это жадный алгоритм, и если да, то почему?

Сообщение Anonymous »

Я работаю над «конкурентным программированием 4» от "Halim et al." И в теме «жадные алгоритмы» я решал следующую задачу на Kattis: холодильник. < /p>

Цель задачи состоит в том, что с учетом ряда цифр, найдите
наименьшее (строго положительное) число, которое вы не можете < /strong>, используя каждый
numerals в ostnes. Эти цифры 7129045863 , первое число, которое вы не можете сделать, составляет 11 . Для этих цифр 55 Первый (положительный) номер
, который вы не можете сделать,-это 1 .

Я реализовал следующий алгоритм:

Код: Выделить всё

digits = list(map(int, input()))

# counting the digits into a dictionary
count_0 = 0
dict = {1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0}
for digit in digits:
if digit != 0:
dict[digit] += 1
else:
count_0 += 1

# finding the smallest digit which has the smallest count
min_key = 1
min_val = dict[1]

for digit, val in dict.items():
if val < min_val:
min_val = val
min_key = digit
if val == min_val and digit < min_key:
min_key = digit

# printing the result
if count_0 + 1 

Подробнее здесь: [url]https://stackoverflow.com/questions/79605867/is-this-a-greedy-algorithm-and-if-so-why[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»