и посмотреть медиа
Swift | LeetCode - задачи
и посмотреть медиа
LeetCode задачи по Swift, собесы и вакансии для iOS-разработчиков.
LeetCode задачи по Swift, собесы и вакансии для iOS-разработчиков.
AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.
Ресурс для Swift-разработчиков с задачами LeetCode. Практикуйте алгоритмы, оптимизацию и iOS-специфику: arrays, strings, trees на Swift. Подготовка к собеседованиям. 📱
Вопросы собесов включают типичные задачи от Apple и других компаний. Разборы кода, паттерны и best practices для мобильной разработки. От базового до advanced уровня. ⚡
Вакансии для Swift/iOS devs обновляются регулярно. Это комплексный инструмент для роста: от теории к практике и трудоустройству в мобильный development.
Задача: 640. Solve the Equation Сложность: medium Решите заданное уравнение и верните значение 'x' в виде строки "x=#value". Уравнение содержит только операции '+', '-', переменную 'x' и ее коэффициент. Вы должны вернуть "No solution", если для уравнения нет решения, или "Infinite solutions", если для уравнения существует бесконечное количество решений. Если для уравнения существует ровно одно решение, мы убеждаемся, что значение 'x' является целым числом. Пример: Input: s = "*" Output: 9 👨💻 Алгоритм: 1⃣Разделение уравнения: Разделите уравнение на левую и правую части относительно знака равенства '='. 2⃣Парсинг и упрощение: Пройдитесь по каждой части уравнения, упрощая ее до суммы коэффициентов 'x' и числовых значений. 3⃣Решение уравнения: Используйте уравнение вида ax + b = cx + d, чтобы решить для 'x'. Если коэффициенты 'x' равны и числовые значения равны, уравнение имеет бесконечное количество решений. Если коэффициенты 'x' равны, но числовые значения различны, решения нет. В противном случае вычислите значение 'x'. 😎 Решение: class Solution { func solveEquation(_ equation: String) -> String { func parse(_ s: String) -> (Int, Int) { var coeff = 0 var constPart = 0 var sign = 1 var num = 0 var i = s.startIndex while i < s.endIndex { if s[i] == "+" { sign = 1 i = s.index(after: i) } else if s[i] == "-" { sign = -1 i = s.index(after: i) } else if s[i].isNumber { num = 0 while i < s.endIndex && s[i].isNumber { num = num * 10 + s[i].wholeNumberValue! i = s.index(after: i) } if i < s.endIndex && s[i] == "x" { coeff += sign * num i = s.index(after: i) } else { constPart += sign * num } } else if s[i] == "x" { coeff += sign i = s.index(after: i) } } return (coeff, constPart) } let parts = equation.split(separator: "=") let (leftCoeff, leftConst) = parse(String(parts[0])) let (rightCoeff, rightConst) = parse(String(parts[1])) let coeff = leftCoeff - rightCoeff let constPart = rightConst - leftConst if coeff == 0 { return constPart == 0 ? "Infinite solutions" : "No solution" } return "x=\(constPart / coeff)" } } Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!
A channel with tricks, premium apps and fast files. Technology tips and utilities for everyday use.
A channel with useful content to help people. Tips, instructions, life hacks on different topics.
A channel about brutalist architecture, design and contemporary art with a selection of projects and ideas.