Logo
TGCATALOG
Catálogo Selecciones Blog
Java | LeetCode

Java | LeetCode

LeetCode задачи и решения на Java.

Sin valoraciones
29
10.09.2026
29
10.09.2026
Sin valoraciones
29
10.09.2026
Redirección segura vía bot
О канале

LeetCode задачи и решения на Java.

Подписчиков 6,497
Тематика Tecnología
Язык Español
Ссылка t.me/easy_java_task

También te recomendamos

Kekaton AI  Voz en off y clon de voz
Kekaton AI Voz en off y clon de voz
Bot

bot de IA para clonar texto a voz y voz en Telegram. Cree audio utilizando la red neuronal de forma rápida y fácil.

Descripción

Решения задач LeetCode на Java с акцентом на чистый код и оптимизацию. Темы: массивы, деревья, графы, динамика. Идеально для технической подготовки.

Últimas publicaciones

Java | LeetCode
Java | LeetCode
🔒Открыть пост
и посмотреть медиа
Задача: 772. Basic Calculator III Сложность: medium Реализуйте базовый калькулятор для вычисления простого строкового выражения. Строка выражения содержит только неотрицательные целые числа, операторы '+', '-', '*', '/' и открывающие '(' и закрывающие скобки ')'. Целочисленное деление должно округляться к нулю. Предполагается, что данное выражение всегда корректно. Все промежуточные результаты будут находиться в диапазоне [-2^31, 2^31 - 1]. Примечание: нельзя использовать встроенные функции для вычисления строк как математических выражений, такие как eval(). Пример: Input: s = "1+1" Output: 2 👨💻 Алгоритм: 1⃣Определите вспомогательную функцию evaluate, которая принимает оператор и числовые аргументы. Заметьте, что эта функция идентична той, что представлена в подходе "Basic Calculator II". Инициализируйте несколько переменных: стек для хранения промежуточных результатов, curr для отслеживания текущего числа, которое мы строим, и previousOperator для отслеживания предыдущего оператора. Добавьте в строку s случайный символ, который не будет появляться во входных данных, например "@". 2⃣Итерация по входным данным. Для каждого символа c: если c является цифрой, добавьте его к curr. В противном случае, если c == '(', мы начинаем вычисление нового изолированного выражения. В этом случае сохраните previousOperator в стек и установите previousOperator = "+". 3⃣Если c является оператором, то необходимо вычислить значение curr. Используйте функцию evaluate, чтобы применить previousOperator к curr, и добавьте результат в стек. Затем сбросьте curr до нуля и обновите previousOperator = c. Если c == ')', это означает, что мы находимся в конце изолированного выражения и должны полностью его вычислить. Извлекайте из стека до тех пор, пока не достигнете оператора, суммируя все извлеченные числа в curr. Как только достигнете оператора, обновите previousOperator = stack.pop(). Верните сумму всех чисел в стеке. 😎 Решение: class Solution { private String evaluate(char operator, String first, String second) { int x = Integer.parseInt(first); int y = Integer.parseInt(second); int res = 0; if (operator == '+') { res = x; } else if (operator == '-') { res = -x; } else if (operator == '*') { res = x * y; } else { res = x / y; } return Integer.toString(res); } public int calculate(String s) { Stack stack = new Stack(); String curr = ""; char previousOperator = '+'; s += "@"; Set operators = new HashSet(Arrays.asList("+", "-", "*", "/")); for (char c: s.toCharArray()) { if (Character.isDigit(c)) { curr += c; } else if (c == '(') { stack.push("" + previousOperator); previousOperator = '+'; } else { if (previousOperator == '*' || previousOperator == '/') { stack.push(evaluate(previousOperator, stack.pop(), curr)); } else { stack.push(evaluate(previousOperator, curr, "0")); } curr = ""; previousOperator = c; if (c == ')') { int currentTerm = 0; while (!operators.contains(stack.peek())) { currentTerm += Integer.parseInt(stack.pop()); } curr = Integer.toString(currentTerm); previousOperator = stack.pop().charAt(0); } } } int ans = 0; for (String num: stack) { ans += Integer.parseInt(num); } return ans; } } Ставь 👍 и забирай 📚 Базу знаний
Java | LeetCode
Evolución de suscriptores
+-0.1% últimos 30 días
Actuales
6,497
Hace un mes
6,504
Crecimiento medio
+0 / día
Actualizado
hace 16 horas

Reseñas de canal Java | LeetCode

Inicia sesión para dejar una reseña

Solo los usuarios registrados pueden compartir su opinión.

Aún no hay reseñas

¡Sé el primero en compartir tu experiencia con este recurso!

Recursos similares

Proveedor Oficial de Servicios de Internet ChannelINTELEKT.NET. Noticias actuales, tarifas y soporte para usuarios📡.

Canal

El bot monitorea las publicaciones por palabras clave en los canales.

Bot

Vídeo japonés con una historia en alta calidad y subtítulos en chino.

Canal
Cambiar a tema claro
Inicio Catálogo Selecciones Blog Entrar