TGViewer
Библиотека задач по Java | тесты, код, задания Библиотека задач по Java | тесты, код, задания @java_problems_lib · 5.61K subscribers
Post #287 1.94K
Реализуйте в Java класс, представляющий стек (stack), который поддерживает операции push, pop и получение минимального элемента (getMin) — все операции должны выполняться за константное время (O(1)).

В этом коде используется два стека: stack для хранения элементов стека и minStack для хранения минимальных элементов.
В методе push при добавлении нового элемента в стек проверяется, является ли он минимальным. Если да, то он также добавляется в minStack.
В методе pop при извлечении элемента из стека проверяется, является ли этот элемент минимальным. Если да, то он также удаляется из minStack.
Методы top и getMin просто возвращают верхний элемент стека и минимальный элемент соответственно.

Временная сложность для всех операций: O(1), так как мы используем два стека и не производим поиск по всему стеку для поиска минимального элемента. Пространственная сложность: O(n). Где n — количество элементов в стеке. Мы используем два стека, но их размер ограничен размером стека.
  • ❤ 1
  • 👍 1
More from @java_problems_lib
  1. Sep 15, 2026Post #1877
  2. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  3. Aug 4, 2026Post #1872
  4. Aug 4, 2026👅 Самое сложное — выбрать не курс, а направление Сегодня хочется разобраться в AI-агентах…
  5. Aug 4, 2026Один доступ вместо вечного выбора между «нужно для работы» и «давно хотелось изучить» 👇
  6. Aug 4, 2026Post #1869
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →