JavaScript | LeetCode

channel icon
Сайт: easyoffer.ru

Условия размещения

Цена за 48 часов в ленте 3000,00
Цена за 1 час закрепления N/A
Взаимопиар Нет
Дополнительные условия рекламы Отсутствуют
+13
5 677
подписчиков
-17
834
охват 1 публикации
0
~5
постов / день
-0,3%
14,7%
ERR % ?

Статистика

Последние публикации

JavaScript | LeetCode
7 сентября 2024 г. 15:47
ТОП-4 Курса по ПрограммированиюТОП-4 Курса по Программированию

⚡Tutortop — маркетплейс курсов №1 по количеству школ-партнеров, курсов и реальных отзывов студентов.

✅Хотите стать программистом, но не знаете с какого языка начать?
Помогаем разобраться в самых популярных и востребованных языках программирования.
Подарок в конце подборки!


ВыбратьВыбрать

#реклама 16+
tutortop.ru

О рекламодателе
JavaScript | LeetCode
7 сентября 2024 г. 12:07
#easy
Задача: 206. Reverse Linked List

Дан односвязный список, разверните этот список и верните развернутый список.

Пример:
Input: head = [1,2,3,4,5]
Output: [5,4,3,2,1]


👨‍💻 Алгоритм:

1️⃣Инициализируйте две переменные: prev как nullptr и curr как head списка. Эти переменные будут использоваться для отслеживания предыдущего и текущего узлов в процессе разворота списка.

2️⃣Пройдитесь по списку с помощью цикла:
Сохраните ссылку на следующий узел curr в переменную nextTemp.
Измените ссылку next текущего узла curr на prev, чтобы развернуть направление ссылки.
Переместите prev на текущий узел curr и переместите curr на следующий узел nextTemp.

3️⃣После завершения цикла верните prev как новую голову развернутого списка.

😎 Решение:
function ListNode(val, next = null) {
this.val = val;
this.next = next;
}

class Solution {
reverseList(head) {
let prev = null;
let curr = head;
while (curr !== null) {
let nextTemp = curr.next;
curr.next = prev;
prev = curr;
curr = nextTemp;
}
return prev;
}
}


🔥 ТОП ВОПРОСОВ С СОБЕСОВТОП ВОПРОСОВ С СОБЕСОВТОП ВОПРОСОВ С СОБЕСОВТОП ВОПРОСОВ С СОБЕСОВ

🔒 База собесовБаза собесов | 🔒 База тестовыхБаза тестовых
JavaScript | LeetCode
6 сентября 2024 г. 21:15
Как повысить эффективность вебинаров?Как повысить эффективность вебинаров?

Организация продающего вебинара - не простая задача, ведь необходимо предусмотреть множество деталей: удобную дату, вовлекающий контент, методы продвижения и взаимодействия с участниками.

Вебинары от МТС Линк помогают привлекать новых клиентов и увеличивать конверсию из участника в лид. В сервисе доступен анализ поведения пользователей во время вебинара, синхронный перевод, автовебинары и интерактивные инструменты для вовлечения участников.

Делимся методичкой с кейсами, чек-листами и инструкциями для маркетологов, PR и event-менеджеров, чтобы сделать вебинары эффективным инструментом для лидогенерации.

Получите методичку бесплатно на сайте.


СкачатьСкачать

#реклама 16+
mts-link.ru

О рекламодателе
JavaScript | LeetCode
6 сентября 2024 г. 19:07
#easy
Задача: 205. Isomorphic Strings

Даны две строки s и t, определите, являются ли они изоморфными.

Две строки s и t являются изоморфными, если символы в s могут быть заменены для получения t.

Все вхождения одного символа должны быть заменены другим символом, сохраняя порядок символов. Два символа не могут отображаться в один и тот же символ, но один символ может отображаться сам на себя.

Пример:
Input: s = "egg", t = "add"
Output: true


👨‍💻 Алгоритм:

1️⃣Определите два словаря: mapping_s_t для отображения символов из строки s в символы строки t, и mapping_t_s для отображения символов из строки t в символы строки s.

2️⃣Итеративно пройдитесь по символам строк s и t. Для каждого символа c1 из s и соответствующего c2 из t, если c1 нет в mapping_s_t и c2 нет в mapping_t_s, добавьте соответствующие отображения; если одно из отображений существует, проверьте, соответствует ли оно ожидаемому значению.

3️⃣Если в процессе проверки какое-либо отображение неверно, верните false. Если все проверки пройдены успешно, верните true после окончания итерации по строкам.

😎 Решение:
class Solution {
isIsomorphic(s, t) {
let mappingStoT = {};
let mappingTtoS = {};

for (let i = 0; i < s.length; i++) {
let c1 = s[i];
let c2 = t[i];

if (mappingStoT[c1] === undefined && mappingTtoS[c2] === undefined) {
mappingStoT[c1] = c2;
mappingTtoS[c2] = c1;
} else if (mappingStoT[c1] !== c2 || mappingTtoS[c2] !== c1) {
return false;
}
}

return true;
}
}


🔥 ТОП ВОПРОСОВ С СОБЕСОВТОП ВОПРОСОВ С СОБЕСОВТОП ВОПРОСОВ С СОБЕСОВТОП ВОПРОСОВ С СОБЕСОВ

🔒 База собесовБаза собесов | 🔒 База тестовыхБаза тестовых
JavaScript | LeetCode
6 сентября 2024 г. 12:07
#medium
Задача: 204. Count Primes

Дано целое число n, верните количество простых чисел, которые строго меньше n.

Пример:
Input: n = 10
Output: 4
Explanation: There are 4 prime numbers less than 10, they are 2, 3, 5, 7.


👨‍💻 Алгоритм:

1️⃣Создайте список последовательных целых чисел от 2 до n: (2, 3, 4, ..., n). Пусть p будет переменной, используемой во внешнем цикле, проходящем от 2 до n. Изначально p равно 2, самому маленькому простому числу.

2️⃣Перечислите кратные числа p, считая с шагом p от pp до n и отметьте их в списке (это будут pp, pp + p, pp + 2*p и т.д.; само число p должно быть простым). Найдите наименьшее число в списке, большее p, которое не отмечено. Если такого числа нет, остановитесь. В противном случае, пусть p теперь равно этому новому числу (следующее простое) и повторите шаг 2.

3️⃣Когда алгоритм завершится, все оставшиеся числа, которые не отмечены, являются простыми.

😎 Решение:
class Solution {
countPrimes(n) {
if (n <= 2) {
return 0;
}

let numbers = new Array(n).fill(true);
for (let p = 2; p <= Math.sqrt(n); ++p) {
if (numbers[p]) {
for (let j = p * p; j < n; j += p) {
numbers[j] = false;
}
}
}

let numberOfPrimes = 0;
for (let i = 2; i < n; i++) {
if (numbers[i]) {
++numberOfPrimes;
}
}

return numberOfPrimes;
}
}


🔥 ТОП ВОПРОСОВ С СОБЕСОВТОП ВОПРОСОВ С СОБЕСОВТОП ВОПРОСОВ С СОБЕСОВТОП ВОПРОСОВ С СОБЕСОВ

🔒 База собесовБаза собесов | 🔒 База тестовыхБаза тестовых
JavaScript | LeetCode
5 сентября 2024 г. 21:07
Помощь в трудоустройстве в IT-сфере!Помощь в трудоустройстве в IT-сфере!

По всей России объявили бесплатную программу на шестимесячное обучение по IT-cпециальностям.

Запись на участие в программе продлится до конца июля, но чтобы туда попасть, нужно пройти специальный профтест.

По результату тестирования сразу узнаете, какая профессия вам подойдет, и проходите ли вы на бесплатное обучение.

Перейти на сайтПерейти на сайт

#реклама 16+
urban-university.ru

О рекламодателе
JavaScript | LeetCode
5 сентября 2024 г. 21:07
JavaScript | LeetCode
5 сентября 2024 г. 21:07
JavaScript | LeetCode
5 сентября 2024 г. 21:07
JavaScript | LeetCode
5 сентября 2024 г. 21:07
JavaScript | LeetCode
5 сентября 2024 г. 21:07
JavaScript | LeetCode
5 сентября 2024 г. 21:07
JavaScript | LeetCode
5 сентября 2024 г. 21:07
JavaScript | LeetCode
5 сентября 2024 г. 21:07
JavaScript | LeetCode
5 сентября 2024 г. 21:07
JavaScript | LeetCode
5 сентября 2024 г. 19:07
#easy
Задача: 203. Remove Linked List Elements

Для заданного начала связного списка и целого числа val удалите все узлы связного списка, у которых Node.val равно val, и верните новое начало списка.

Пример:
Input: head = [1,2,6,3,4,5,6], val = 6
Output: [1,2,3,4,5]


👨‍💻 Алгоритм:

1️⃣Инициализируйте сторожевой узел как ListNode(0) и установите его новым началом: sentinel.next = head. Инициализируйте два указателя для отслеживания текущего узла и его предшественника: curr и prev.

2️⃣Пока curr не является нулевым указателем, сравните значение текущего узла со значением для удаления. Если значения равны, удалите текущий узел: prev.next = curr.next, иначе установите предшественника равным текущему узлу. Переместитесь к следующему узлу: curr = curr.next.

3️⃣Верните sentinel.next.

😎 Решение:
function ListNode(val, next = null) {
this.val = val;
this.next = next;
}

function deleteNode(head, value) {
let sentinel = new ListNode(0);
sentinel.next = head;
let prev = sentinel, curr = head;

while (curr !== null) {
if (curr.val === value) {
prev.next = curr.next;
} else {
prev = curr;
}
curr = curr.next;
}
return sentinel.next;
}


🔥 ТОП ВОПРОСОВ С СОБЕСОВТОП ВОПРОСОВ С СОБЕСОВТОП ВОПРОСОВ С СОБЕСОВТОП ВОПРОСОВ С СОБЕСОВ

🔒 База собесовБаза собесов | 🔒 База тестовыхБаза тестовых
JavaScript | LeetCode
5 сентября 2024 г. 14:07
Регистрируйтесь на главную конференцию Yandex Cloud!Регистрируйтесь на главную конференцию Yandex Cloud!

Большая конференция Yandex Cloud для тех, кто создаёт цифровые продукты и решения.

Вас ждут 5 тематических треков, 31 доклад, 50 экспертов, нетворкинг и общение.

Участие бесплатное!


ЗарегистрироватьсяЗарегистрироваться

#реклама 16+
scale.yandex.cloud

О рекламодателе
JavaScript | LeetCode
5 сентября 2024 г. 12:07
#easy
Задача: 202. Happy Number

Напишите алгоритм для определения, является ли число n счастливым.

Счастливое число определяется следующим процессом:

Начиная с любого положительного целого числа, замените число суммой квадратов его цифр.
Повторяйте процесс, пока число не станет равным 1 (где оно и останется), или пока оно бесконечно не будет циклически повторяться в цикле, который не включает 1.
Те числа, для которых этот процесс завершается 1, являются счастливыми.
Верните true, если n является счастливым числом, и false, если нет.

Пример:
Input: n = 2
Output: false


👨‍💻 Алгоритм:

1️⃣Для заданного числа n определите следующее число в последовательности: используйте операторы деления и взятия остатка для последовательного извлечения цифр из числа, пока не закончатся все цифры. Каждую извлеченную цифру возводите в квадрат и суммируйте полученные значения. Это техника "последовательного извлечения цифр" является полезным инструментом для решения множества задач.

2️⃣Отслеживайте цепочку чисел и определяйте, не вошли ли вы в цикл, используя структуру данных HashSet. Каждый раз, генерируя следующее число в цепочке, проверяйте, присутствует ли оно уже в HashSet.

3️⃣Если числа нет в HashSet, добавьте его туда. Если число уже есть в HashSet, это означает, что вы находитесь в цикле, и следует вернуть false. HashSet используется вместо Vector, List или Array, потому что проверка присутствия числа в HashSet занимает время O(1), тогда как в других структурах данных это займет время O(n). Правильный выбор структур данных является ключевым элементом решения подобных задач.

😎 Решение:
function getNext(n) {
let totalSum = 0;
while (n > 0) {
let digit = n % 10;
n = Math.floor(n / 10);
totalSum += digit * digit;
}
return totalSum;
}

function isHappy(n) {
const seen = new Set();
while (n !== 1 && !seen.has(n)) {
seen.add(n);
n = getNext(n);
}
return n === 1;
}

console.log(isHappy(19));


🔥 ТОП ВОПРОСОВ С СОБЕСОВТОП ВОПРОСОВ С СОБЕСОВТОП ВОПРОСОВ С СОБЕСОВТОП ВОПРОСОВ С СОБЕСОВ

🔒 База собесовБаза собесов | 🔒 База тестовыхБаза тестовых
JavaScript | LeetCode
4 сентября 2024 г. 21:01
Помощь в трудоустройстве в IT-сфере!Помощь в трудоустройстве в IT-сфере!

В России из-за дефицита айтишников запустили бесплатную программу по обучению IT-специалистов. Теперь любой желающий может попробовать себя в IT с полного нуля и начать обучение бесплатно!

Узнайте про дальнейшее трудоустройство в ведущие IT-компании для восполнения кадрового дефицита.

Для этого нужно:

- Перейти по ссылке
- Заполнить анкету и ответить на вопросы (занимает менее 3 минут)
- На основании ваших ответов вы сразу узнаете, подходит ли вам сфера IT и сможете ли вы в ней работать

Перейти на сайтПерейти на сайт

#реклама 16+
urban-university.ru

О рекламодателе
JavaScript | LeetCode
4 сентября 2024 г. 21:01