Найти в Дзене
Задачи и решения.

Задачи и решения.

Подборка алгоритмических задач для оттачивания навыков: от базовых структур данных до сложных алгоритмов. Развивайте логику, учитесь оптимизировать код и готовьтесь к собеседованиям в IT. Интересные задачи с примерами решения на Go
подборка · 26 материалов
5 месяцев назад
20. Valid Parentheses
Дана строка, s содержащая только символы '(', ')', '{', '}', '['и ']', определите, является ли входная строка допустимой. Входная строка действительна, если: Example 1: Input: s = "()" Output: true Example 2: Input: s = "()[]{}" Output: true Example 3: Input: s = "(]" Output: false Example 4: Input: s = "([])" Output: true Ограничения: пример решения на Go: func isValid(s string) bool { var notChange bool var countPrev,countNext int for !notChange { nextCheck: for i, r := range s { if i < len(s)-1 { if check(r, rune(s[i+1])) { if len(s) == 2 { return true } s = s[:i]+s[i+2:] goto...
5 месяцев назад
175. Combine Two Tables
Table: Person +-------------+---------+ | Column Name | Type | +-------------+---------+ | personId | int | | lastName | varchar | | firstName | varchar | +-------------+---------+ personId — первичный ключ (столбец с уникальными значениями) для этой таблицы. В этой таблице содержится информация об идентификаторах некоторых лиц, их именах и фамилиях. Table: Address +-------------+---------+ | Column Name | Type | +-------------+---------+ | addressId | int | | personId | int | | city | varchar | | state | varchar | +-------------+---------+ addressId — первичный ключ (столбец с уникальными значениями) для этой таблицы...
5 месяцев назад
183. Customers Who Never Order
+-------------+---------+ | Column Name | Type | +-------------+---------+ | id | int | | name | varchar | id — первичный ключ (столбец с уникальными значениями) для этой таблицы. Каждая строка этой таблицы указывает идентификатор и имя клиента. Table: Orders +-------------+------+ | Column Name | Type | +-------------+------+ | id | int | | customerId | int | +-------------+------+ id — первичный ключ (столбец с уникальными значениями) для этой таблицы. customerId — внешний ключ (ссылочные столбцы) идентификатора из таблицы Customers. Каждая строка этой таблицы указывает идентификатор заказа и идентификатор клиента, который его заказал...
5 месяцев назад
182. Duplicate Emails
+-------------+---------+ | Column Name | Type | +-------------+---------+ | id | int | | email | varchar | +-------------+---------+ id — первичный ключ (столбец с уникальными значениями) для этой таблицы. Каждая строка этой таблицы содержит адрес электронной почты. Адреса электронной почты не будут содержать заглавных букв. Напишите решение для сообщения обо всех дублирующихся электронных письмах. Обратите внимание, что гарантируется, что поле электронной почты не равно NULL. Верните таблицу результатов в любом порядке . Формат результата приведен в следующем примере...
5 месяцев назад
202. Happy Number
#Hash Table#Math#Two Pointers Напишите алгоритм для определения того, является ли число n счастливым. Счастливое число — это число, определяемое следующим процессом: Начиная с любого положительного целого числа, замените число суммой квадратов его цифр. Повторяйте процесс, пока число не станет равным 1 (где оно и останется), или пока оно не зациклится бесконечно в цикле, который не включает 1. Те числа, для которых этот процесс заканчивается на 1, являются счастливыми. Верните true, если n является счастливым числом, и false, если нет. Example 1: Input: n = 19 Output: true Explanation: 1^2 + 9^2...
5 месяцев назад
45. Jump Game II
#Array#Dynamic Programming#Greedy Вам дан 0-индексированный массив целых чисел numsдлины n. Изначально вы находитесь в позиции nums[0]. Каждый элемент nums[i]представляет максимальную длину прыжка вперед от индекса i. Другими словами, если вы находитесь в nums[i], вы можете перейти в любое nums[i + j]место: Верните минимальное количество прыжков для достиженияnums[n - 1] . Тестовые случаи генерируются таким образом, чтобы вы могли достичь nums[n - 1]. Пример 1: Ввод: nums = [2,3,1,1,4] Вывод: 2 Пояснение: Минимальное количество прыжков для достижения последнего индекса равно 2. Прыгните на 1 шаг от индекса 0 к 1, затем на 3 шага к последнему индексу...