Учитывая строку чисел, верните максимально возможное битоническое число в виде целого числа [закрыто]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Учитывая строку чисел, верните максимально возможное битоническое число в виде целого числа [закрыто]

Сообщение Anonymous »

Я рассматриваю следующую задачу по коду:

Для функции Large_bitonic_at_most(n) найти наибольший положительный bitonic< /em> целое число, не превышающее n, и вернуть его.
Вот определение bitonic в этой задаче:
  • Если цифры n расположены только в неубывающем порядке, это битонический код (например, 123456, 15687)
    < li>Если его цифры расположены только в невозрастающем порядке, то он битонический (например, 964441, 7521)
  • Если его цифры сначала неубывающие, а затем невозрастающие до конца , оно является битонным (например, 12368862, 2952).
  • Повторяющиеся цифры будут по-прежнему учитываться, если они соответствуют первым трем условиям (например, 77777, 12222521 являются битоническими).
Верните число, если оно битоническое. Если число не является битонным, верните наибольшее положительное целое число, меньшее этого числа, которое по-прежнему является битонным.
Пример вызова 1:
largest_bitonic_at_most(227942) == 227942

Пример вызова 2:
largest_bitonic_at_most(28052) == 28000

Пример вызова 3:
largest_bitonic_at_most(268472) == 68444


На данный момент я могу использовать только базовые команды Python (например, if else, рекурсию, присваивания)
Вот код, который у меня есть на данный момент.
def largest_bitonic_at_most(n):
def helper(n):
n = str(n)
length = len(n)
if length > 2:
if n[0] n[1]:
if n[1] >= n[2]:
return n[0] + helper(n[1:])
else:
return n[0] + (n[1] * (length - 1))
else:
return n[0]
elif length 0:
if n[0] >= n[1]:
return n[0] * 2
else:
return n

x = helper(n)
return int(x)

Вот некоторые примеры моделирования и результаты.
print(largest_bitonic_at_most(11118)) #11118
print(largest_bitonic_at_most(211144)) #211144 should be 211111
print(largest_bitonic_at_most(1204)) #1200
print(largest_bitonic_at_most(789123)) #789111


Подробнее здесь: https://stackoverflow.com/questions/789 ... as-an-inte
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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