___

Публикации по теме 'algorithms'


4 простые проблемы в JavaScript и TypeScript
DevAdvent 2022 4 простые проблемы в JavaScript и TypeScript 4 простых задачи для тренировки JavaScript Сегодняшняя проблема DevAdvent очень проста. Для этого я решил решить не один. Все они простые, но полезные для практики. Тестирование 1–2–3 ссылка на Кату Ваша команда пишет новый модный текстовый редактор, и вам поручили внедрить нумерацию строк. Напишите функцию, которая принимает список строк и возвращает каждую строку с правильным номером перед ним. Нумерация..

Реализация стеков в коде: практическое руководство
Стеки — это важная структура данных, которая следует принципу «последним пришел — первым вышел» (LIFO). Они предлагают простой, но мощный способ управления данными, что делает их бесценными во многих сценариях программирования. В этой статье мы рассмотрим реализацию стеков в коде с использованием разных языков программирования и обсудим задействованные ключевые операции. Реализация стека на основе массивов Одним из наиболее распространенных способов реализации стека является..

Решение Leetcode 1021: Лучшая пара для осмотра достопримечательностей
В этой задаче Leetcode, учитывая массив A, нас просят вернуть максимальное A[i]+A[j]+i-j с j > i . В первом подходе я попробовал все [i,j], i!= j с помощью этого кода: func maxScoreSightseeingPair(A []int) int { res := 0 for i,v1 := range A { val := v1 + i for j := i+1; j < len(A); j++ { curr := val - j + A[j] if curr > res { res = curr } } } return res } Как бы то ни было, я..

Методы Slice и Splice в JavaScript
Сегодня мы рассмотрим методы .slice () и .splice () в JavaScript. Оба эти метода очень похожи. Оба являются методами массива и строки, которые возвращают сегменты того и другого. Давайте посмотрим на образец кода, который я создал для этого поста. У нас есть такой набор фруктов: Метод нарезки Этот метод здесь может иметь 0 или до двух аргументов. Он без разрушения вернет новый массив / строку с нарезанными элементами. Нулевые аргументы: Этот метод вернет весь массив /..

[алго] Сортировка : Python Compararor
ранг хакера Сортировка: Компаратор | HackerRank Напишите компаратор для сортировки элементов в массиве. www.hackerrank.com from functools import cmp_to_key class Player: def __init__(self, name, score): self.name = name self.score = score def comparator(a, b): if a.score == b.score: if a.name > b.name: return 1 else: return -1 else:..

Распространение убеждений в байесовских сетях
Байесовский сетевой вывод В этой статье я буду использовать распространение убеждений (BP) с некоторыми примерами данных. Я предполагаю, что вы уже знаете о байесовских сетях (BN). В этом посте объясняется, как рассчитать убеждения различных переменных в BN, которые помогают разуму. Распространение веры Я создал репозиторий с кодом для BP на GitHub , который буду использовать для объяснения алгоритма. Для начала представьте, что у нас есть поли-дерево, которое представляет..

Алгоритмы от Harvard CS50 (2)
В предыдущей статье Insight from Harvard Cs50 (1) я кратко коснулся концепций, рассмотренных в лекции 3 об алгоритмах, чтобы позже объяснить больше здесь! Давайте погрузимся прямо в! Следующие примечания дополнены соответствующими временными метками видео: Если вы нашли определенный элемент в списке: 00:13:02 — линейный поиск (O(n): линейная временная сложность) function linearSearch(arr, target) { for (let i = 0; i < arr.length; i++) { if (arr[i] ===..