Войти Регистрация
Алгоритмы

200. Какая версия приложения новее

Лёгкая

Версия клиента VK — строка из чисел через точку, например "8.112.3". Числа сравниваются слева направо как числа, а не как строки: 1.10 новее 1.9. Ведущие нули не важны: 1.01 и 1.1 — одна версия.

Если у одной версии частей меньше, недостающие считаются нулями: 2.0 и 2 равны. Верните 1, если a новее, -1, если новее b, и 0, если версии равны.

В работе: Сервер решает, показать ли плашку «обновите приложение»: строковое сравнение считает 8.9 новее 8.112, и плашку получили бы те, кто уже обновился.

Пример 1

Ввод
a = "8.112.3"
b = "8.9"
Вывод
1

112 больше 9.

Пример 2

Ввод
a = "2.0.0"
b = "2"
Вывод
0

Хвост из нулей не меняет версию.

Ограничения

  • 1 ≤ длина строк ≤ 500
  • части — неотрицательные числа до 10⁹, разделены одной точкой
  • Лимит — 2 с на тест (1500 мс).
Как вызывается ваш код Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула. print() и console.log() уходят в консоль.
def compare_versions(a, b):
СтрокиРазбор строкицельO(n)

Источник: наша задача на данных VK. Условие пересказано своими словами.