Публикации по теме 'algorithms'
до 18 января 2023 г.
Миссия(Проблема)
Миссия состоит в том, чтобы проверить, могу ли я создать массив B, изменив порядок массива A. Если это возможно, я должен был вернуть 1, если нет, я должен был вернуть 0.
И вот код, который я написал.
function solution(before, after) {
let Arr1 = before.split('').sort().join('')
let Arr2 = after.split('').sort().join('')
return (Arr1 = Arr2) ? 1 : 0
}
Предположим, что массив A — это hello, а массив B — elloh. Я реконструировал каждый из массивов, используя три..
Двоичное дерево поиска: реализация в JavaScript
Двоичное дерево поиска — это особый тип двоичного дерева, в котором данные каждого правого дочернего узла больше, чем его родительский узел, а данные каждого левого дочернего узла меньше, чем его родительский узел.
Двоичное дерево поиска используется для выполнения операций поиска данных, поскольку оно может находить данные за время O (log (n)), что довольно эффективно. В BST выполняются следующие операции:
Вставка Удаление Идет поиск Обходы
Вставка в BST выполняется с..
Динамическое программирование стало проще
Пошаговая разбивка по методу IDEAL для технических интервью
Введение
Если вы ищете работу по разработке программного обеспечения, то, скорее всего, вам придется подготовиться к техническим собеседованиям. Распространенным типом вопросов, задаваемых на технических собеседованиях, являются проблемы динамического программирования. Динамическое программирование — это метод оптимизации, используемый для решения сложной задачи путем разбиения ее на подзадачи и сохранения результатов..
Машинное обучение для начинающих
Прогнозирование затрат на страхование с помощью линейной регрессии
Линейная регрессия подходит для задач, в которых мы хотим предсказать определенное числовое значение, в отличие от прогноза «да или нет», когда мы используем логистическую регрессию.
Что такое прогноз «да или нет»?
Например, если страховая компания хочет предсказать, может ли человек умереть раньше срока (прогноз «да или нет»), и может потребовать страховку, ей следует использовать логистическую регрессию.
Но здесь..
LeetCode — Суммировать числа от корня до листа
Постановка задачи
Вам дан root двоичного дерева, содержащего только цифры от 0 до 9 .
Каждый путь от корня к листу в дереве представляет собой число.
Возвращает общую сумму всех корневых чисел . Тестовые случаи генерируются таким образом, чтобы ответ соответствовал 32-разрядному целому числу.
Узел конечный — это узел без дочерних элементов.
Постановка задачи взята с: https://leetcode.com/problems/sum-root-to-leaf-numbers
Пример 1:
Input: root = [1, 2, 3]..
Сортировка слиянием (Голанг)
package main
import (
"fmt"
)
func merge(a, b []int) []int {
size, i, j := len(a)+len(b), 0, 0
result := make([]int, size)
for k := 0; k < size; k++ {
switch true {
case i == len(a):
//all the elements of a already been judged
//assuming a and b both are sorted, this happens because
//some cases will have not equal a and b, so it might
// be a possibility that one array got finished earlier.
result[k] = b[j]..
Структура данных и алгоритм. Общее собеседование с пирамидой и поиск гласных.
Пожалуйста, ознакомьтесь с частью 3 этого блога, чтобы получить дополнительные упражнения.
В этой 4-й части моего еженедельного блога с вопросами об интервью мы собираемся изучить два важных вопроса: Пирамида и Найти гласные .
Пирамида
Эта проблема, вероятно, является одной из самых сложных для объяснения и решения, если вы никогда раньше не видели решения, я сделаю все возможное, чтобы объяснить решение, но вам, вероятно, потребуется несколько раз, чтобы выяснить логику..