Найти ближайшее значение в бинарном дереве
Напишите функцию, которая принимает два аргумента — бинарное дерево и значение в виде числа, а возвращает ближайшее значение, найденное в бинарном дереве.
Зная свойство сбалансированного бинарного дерева, где слева находятся все значения нод меньше текущей, а справа равные или больше по значению, мы можем в лучшем случае откидывать каждый раз половину дерева.
В данном решении мы идем рекурсивным путём по нодам, записывая и сравнивая разницу со значением из аргумента. Если значение равно нужному, значит мы нашли нужную нам ноду, а иначе мы смотрим, является ли текущее значение ноды меньше или больше того, которое мы ищем. В зависимости от этого мы продолжаем рекурсивно спускаться в нужном нам направлении, обновляя разницу, до тех пор пока не упремся в конец ветки.
Напишите функцию, которая принимает два аргумента — бинарное дерево и значение в виде числа, а возвращает ближайшее значение, найденное в бинарном дереве.
Node = { value: number | null, left: Node | null, right: Node | null }Решение доступно на картинке.
В данном решении мы идем рекурсивным путём по нодам, записывая и сравнивая разницу со значением из аргумента. Если значение равно нужному, значит мы нашли нужную нам ноду, а иначе мы смотрим, является ли текущее значение ноды меньше или больше того, которое мы ищем. В зависимости от этого мы продолжаем рекурсивно спускаться в нужном нам направлении, обновляя разницу, до тех пор пока не упремся в конец ветки.
👍2
Вам нравится читать контент на этом канале?
Возможно, вы задумывались о том, чтобы купить на нем интеграцию?
Следуйте 3 простым шагам, чтобы сделать это:
1) Нажмите на ссылку: Вход
2) Пополняйтесь удобным способом
3) Размещайте публикацию
Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.
Возможно, вы задумывались о том, чтобы купить на нем интеграцию?
Следуйте 3 простым шагам, чтобы сделать это:
1) Нажмите на ссылку: Вход
2) Пополняйтесь удобным способом
3) Размещайте публикацию
Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.
Что такое арность? Как получить арность функции в JS?
Арность — это количество аргументов функции. Например — вот объявление пары функций:
В JS можно получить арность функции с помощью свойства length:
Арность — это количество аргументов функции. Например — вот объявление пары функций:
function fn(a, b) {Функция fn принимает два аргумента (это бинарная или 2-арная функция), функция fn2 принимает три аргумента (тернарная, 3-арная функция).
//...
}
function fn2(a, b, c) {
//...
}
В JS можно получить арность функции с помощью свойства length:
function foo(x, y, z) {
return foo.length; // Will return 3
}
👍4
#Вопросы_с_собеседования
❓Почему obj.someprop.x приводит к ошибке?
Ответ очевиден: мы пытается получить доступ к свойству x свойства someprop, которое имеет значение undefined. obj.__proto__.__proto = null, поэтому возвращается undefined, а у undefined нет свойства x.
❓Почему obj.someprop.x приводит к ошибке?
Ответ очевиден: мы пытается получить доступ к свойству x свойства someprop, которое имеет значение undefined. obj.__proto__.__proto = null, поэтому возвращается undefined, а у undefined нет свойства x.
👍3
#вопросы_с_собеседований
Какие бывают ошибки в javascript?
В javascript есть два типа ошибок.
Syntax error. Это ошибки или опечатки в коде, из-за которых программа вообще не выполняется или останавливается на полпути. Обычно появляются сообщения об этих ошибках.
Логическая ошибка. Они возникают, когда синтаксис правильный, но логика или программа неверны. В этом случае приложение выполняется без проблем, однако выводы программы не соответствуют ожиданиям. Такие ошибки сложнее исправить, чем синтаксические, поскольку приложения не отображают сообщения для логических ошибок.
Какие бывают ошибки в javascript?
В javascript есть два типа ошибок.
Syntax error. Это ошибки или опечатки в коде, из-за которых программа вообще не выполняется или останавливается на полпути. Обычно появляются сообщения об этих ошибках.
Логическая ошибка. Они возникают, когда синтаксис правильный, но логика или программа неверны. В этом случае приложение выполняется без проблем, однако выводы программы не соответствуют ожиданиям. Такие ошибки сложнее исправить, чем синтаксические, поскольку приложения не отображают сообщения для логических ошибок.
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Point and click penguin
Весь экран разделен на клетки, при нажатии на которые задействуются множество анимаций. Создано без использования библиотек, на чистом JS.
https://codepen.io/Ma5a/pen/MWrZPOP
Весь экран разделен на клетки, при нажатии на которые задействуются множество анимаций. Создано без использования библиотек, на чистом JS.
https://codepen.io/Ma5a/pen/MWrZPOP
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Fancy Button
Кнопка с эффектом обрезанных углов, реализованная на чистом CSS.
https://codepen.io/bloqhead/pen/ErOjEL
Кнопка с эффектом обрезанных углов, реализованная на чистом CSS.
https://codepen.io/bloqhead/pen/ErOjEL
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Sliding Stepper
Счетчик с красивыми CSS-анимациями при переключении.
https://codepen.io/jkantner/pen/oNGzBmm
Счетчик с красивыми CSS-анимациями при переключении.
https://codepen.io/jkantner/pen/oNGzBmm
👍5
DeepSeek — самая мощная нейросеть в мире? Честно сравним и разберемся на примерах вместе с Кириллом Пшинником, СЕО университета Зерокодер.
⚡️Что ждет вас на вебинаре?
— Сравним DeepSeek-R1 и QWEN 2.5-Max с ChatGPT – кто быстрее, точнее и эффективнее?
— Покажем, как использовать DeepSeek без ограничений и блокировок;
— Разберем, как можно зарабатывать на нейросетях и какие вакансии будут востребованы в 2025 году.
👉 Регистрируйтесь прямо сейчас
Все участники получат готовые инструменты для работы с нейросетями. Эфир подойдет всем, кто хочет сэкономить время, монетизировать навыки и оставаться в тренде технологий 2025 года.
PS: Это первый полноценный практикум от экспертов по DeepSeek. Узнайте и погрузитесь в революционные изменения AI сферы по ссылке.
erid: 2W5zFJph6it
ООО Зерокодер, ИНН 9715401631
⚡️Что ждет вас на вебинаре?
— Сравним DeepSeek-R1 и QWEN 2.5-Max с ChatGPT – кто быстрее, точнее и эффективнее?
— Покажем, как использовать DeepSeek без ограничений и блокировок;
— Разберем, как можно зарабатывать на нейросетях и какие вакансии будут востребованы в 2025 году.
👉 Регистрируйтесь прямо сейчас
Все участники получат готовые инструменты для работы с нейросетями. Эфир подойдет всем, кто хочет сэкономить время, монетизировать навыки и оставаться в тренде технологий 2025 года.
PS: Это первый полноценный практикум от экспертов по DeepSeek. Узнайте и погрузитесь в революционные изменения AI сферы по ссылке.
erid: 2W5zFJph6it
ООО Зерокодер, ИНН 9715401631
JavaScript. Напишите функцию
Ответ
order
, которая принимает строку и возвращает её вариант, очищенный от цифр, вшитых в каждое слово, и отсортированный на основе этих цифр.Ответ
👍3❤🔥1
#вопросы_с_собеседований
Что такое самовызываемые функции?
Самовызываемые функции отличаются от обычных функций — они выполняются в том же месте, где были объявлены. Обычно мы объявляем функцию, а потом вызываем ее. JavaScript автоматически запускает код внутри самовызываемых функций.
Следует отметить, что этим функциям не присваивается имя, то есть мы не можем вызывать их снова. Также они известны как анонимные функции. Примеры на картинке.
Что такое самовызываемые функции?
Самовызываемые функции отличаются от обычных функций — они выполняются в том же месте, где были объявлены. Обычно мы объявляем функцию, а потом вызываем ее. JavaScript автоматически запускает код внутри самовызываемых функций.
Следует отметить, что этим функциям не присваивается имя, то есть мы не можем вызывать их снова. Также они известны как анонимные функции. Примеры на картинке.
👍2
#вопросы_с_собеседований по React
Если компоненту ничего не нужно отрисовывать, что мы можем сделать?
Метод render() или функциональный компонент имеет возможность возвращать null.
Как можно по условию рендерить JSX?
If — else использовать внутри JSX нельзя, но можно динамически возвращать элементы в зависимости от условия:
Если компоненту ничего не нужно отрисовывать, что мы можем сделать?
Метод render() или функциональный компонент имеет возможность возвращать null.
Как можно по условию рендерить JSX?
If — else использовать внутри JSX нельзя, но можно динамически возвращать элементы в зависимости от условия:
if (LoggedIn) {Еще один вариант — логические операторы:
return <User />
} else {
return <Guest />
}
<div>
{count > 10 && <ShowCount />}
</div>
Также можно использовать тернарный оператор:{LoggedIn ? <User/> : <Guest /> }
👍3
Какие существуют способы доступа к свойствам объекта?
Существует три возможных способа доступа к свойствам объекта.
1. Через точку
Существует три возможных способа доступа к свойствам объекта.
1. Через точку
objectName.property2. Через квадратные скобки
objectName["property"]3. Через выражение в квадратных скобках
objectName[expression]
👍2