Публикации по теме '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] ===..