Задача на алгоритм для работы со связным списком в Python. Требуется удалить N-й узел с конца односвязного списка, сохранив структуру данных. Задача проверяет умение эффективно манипулировать связными списками с использованием алгоритма двух указателей (fast and slow), который решает проблему за один проход без дополнительной памяти.
Задача относится к алгоритмам и структуре данных. Надо найти все уникальные четверки целых чисел из заданного массива nums, сумма которых равна целевому значению target. Четверки должны состоять из элементов с различных индексов, а результат не должен содержать дубликатов. Задача требует эффективного поиска и обработки повторяющихся значений.
Задача относится к алгоритмическим задачам на комбинаторику и рекурсивный перебор (backtracking). Дана строка, содержащая цифры от 2 до 9 включительно. Нужно вернуть все возможные буквенные комбинации, которые могут быть представлены этим числом, согласно стандартному сопоставлению цифр и букв на кнопках телефона.
Дан массив целых чисел nums длины n и целое число target. Найдите три числа в массиве nums, сумма которых наиболее близка к target. Верните сумму этих трех чисел. Можно предположить, что для каждого входного набора существует ровно одно решение.
Алгоритмы. Дан массив целых чисел «nums». Необходимо вернуть все возможные тройки элементов «[nums[i], nums[j], nums[k]]», такие что, индексы удовлетворяют условиям: $i \neq j$, $i \neq k$ и $j \neq k$, а сумма элементов тройки равна нулю.
Алгоритмы. Напишите функцию для нахождения самой длинной общей префиксной строки среди массива строк. Если общего префикса нет, верните пустую строку «».
Алгоритмы. Реализуйте функцию myAtoi(string s), которая преобразует строку в 32-битное целое число со знаком. Игнорируйте любые начальные пробелы (» «). Определите знак числа, проверив, является ли следующий символ ‘-‘ или ‘+’. Если ни один из символов не присутствует, предполагается положительное число. Считайте число, пропуская ведущие нули, пока не встретится нецифровой символ или не будет достигнут конец строки.
Алгоритмы. Дано целое число x со знаком, представленное в 32-битном формате. Необходимо вернуть число x с обратным порядком цифр. Если при переворачивании цифр число выходит за пределы диапазона 32-битных целых чисел со знаком [-2³¹, 2³¹ — 1], то следует вернуть 0.
Задача на алгоритмы. Строка PAYPALISHIRING записывается в виде зигзагообразного узора на заданном количестве строк. Необходимо написать функцию, которая преобразует заданную строку в такой зигзагообразный формат и возвращает результат в виде новой строки.
Алгоритм. Римские цифры представлены семью разными символами: I, V, X, L, C, D и M. Например, 2 записывается как II римскими цифрами, состоящими из двух единиц. 12 записывается как XII, то есть просто X + II. Преобразуйте римские цифры в целое число.
Алгоритм. Семь различных символов обозначают римские цифры. Если значение не начинается с 4 или 9, выберите символ максимального значения. Если значение начинается с 4 или 9, используйте субтрактивную форму.
Алгоритм. Дан целочисленный массив высотой длины n. Нарисовано n вертикальных линий, конечными точками которых являются (i, 0) и (i, высота[i]). Найдите две линии, которые вместе с осью X образуют контейнер, в котором содержится больше всего воды.
Алгоритм. Учитывая входную строку s и шаблон p, реализовать сопоставление регулярных выражений с поддержкой «.» и «*» где: «.» Соответствует любому отдельному символу. «*» соответствует нулю или предыдущему элементу. Сопоставление должно охватывать всю входную строку (не частично).
Алгоритм. Даны два отсортированных массива nums1 и nums2 соответственно размерами m и n. Необходимо найти медиану объединенного массива. Общая временная сложность алгоритма должна быть O(log(m+n)).
Алгоритм. Даны два непустых связанных списка, представляющих два неотрицательных целых числа. Цифры хранятся в обратном порядке, и каждый из их узлов содержит одну цифру. Сложите два числа и верните сумму в виде связанного списка.