[Тестовое Google] Простые множители произведения массива
Задача
Дан массив целых положительных чисел nums, верните количество различных простых множителей в произведении элементов
▪️Число, большее
▪️Целое число val1 является множителем другого целого числа
Пример
Произведение всех элементов в `
Произведение всех элементов в `
#junior #задача #golang
Пишите свое решение в комментариях👇
Задача
Дан массив целых положительных чисел nums, верните количество различных простых множителей в произведении элементов
nums
. Функция должна называться distinctPrimeFactors.
Обратите внимание, что:▪️Число, большее
1
, называется простым, если оно делится только на 1 и само на себя.▪️Целое число val1 является множителем другого целого числа
val2
, если val2
/ val1
является целым числом.Пример
nums = [2,4,3,7,10,6]
distinctPrimeFactors(nums)
# 4
# Пояснение:Произведение всех элементов в `
nums
` равно: `2 * 4 * 3 * 7 * 10 * 6 = 10080 = 25 * 32 * 5 * 7`.
Существует 4
различных простых множителя, поэтому мы возвращаем 4.
nums = [2,4,8,16]
distinctPrimeFactors(nums)
# 1
# Пояснение:Произведение всех элементов в `
nums
` равно: `2 * 4 * 8 * 16 = 1024 = 210`.
Существует 1 различный простой множитель, поэтому мы возвращаем 1.#junior #задача #golang
Пишите свое решение в комментариях👇
🤯2😢1
👣 Почему сообщество #golang старается не использовать сторонние библиотеки?
Некоторые причины исторические (до
Безопасность - когда вы добавляете зависимость, вы добавляете разработчика (или команду разработчиков), с которым вы никогда не взаимодействовали, в качестве участника вашего проекта. Вы должны проанализировать библиотеку, как если бы она была написана собственными силами, и убедиться, что она соответствует вашим задачам и не несет никакого риска.
Сложность в поддержке - теперь вы и ваша команда должны поддерживать добавленную библиотеку в актуальном состоянии.
Воспроизводимые сборки - Вы можете добиться этого с помощью библиотек сторонних производителей, но чем меньше вам придется об этом беспокоиться, тем лучше.
Просто нет необходимости - Это одна из лучших причин. В Go есть замечательная стандартная библиотека, и вы можете добиться очень многого, используя ее.
Так когда же следует обращаться к библиотеке?
Если то, что вы хотите реализовать, является функционально сложным, имеет приемущества от поддержки сообществом и берется из надежного источника, то использование библиотеки может быть хорошим вариантом.
Примерами библиотек, которые, на мой взгляд, являются достойными для внимания:
- Библиотеки шин сообщений (Kafka, RabbitMQ и т.д.)
- Библиотеки БД (Mongo, Postgres).
- Сложные криптографические вещи алгоритмы, которые не поддерживаются стандартной библиотекой.
👇 Напишите в комментаряих о ваших любимых сторонних библиотеках.
@golangprofi
Некоторые причины исторические (до
Go 1.11
в Go была довольно печальная история управления зависимостями), некоторые культурные (сообщество Go пропагандирует простоту и самодостаточность), но некоторые из них, я бы сказал, являются хорошей практикой независимо от используемого языка.Безопасность - когда вы добавляете зависимость, вы добавляете разработчика (или команду разработчиков), с которым вы никогда не взаимодействовали, в качестве участника вашего проекта. Вы должны проанализировать библиотеку, как если бы она была написана собственными силами, и убедиться, что она соответствует вашим задачам и не несет никакого риска.
Сложность в поддержке - теперь вы и ваша команда должны поддерживать добавленную библиотеку в актуальном состоянии.
Воспроизводимые сборки - Вы можете добиться этого с помощью библиотек сторонних производителей, но чем меньше вам придется об этом беспокоиться, тем лучше.
Просто нет необходимости - Это одна из лучших причин. В Go есть замечательная стандартная библиотека, и вы можете добиться очень многого, используя ее.
Так когда же следует обращаться к библиотеке?
Если то, что вы хотите реализовать, является функционально сложным, имеет приемущества от поддержки сообществом и берется из надежного источника, то использование библиотеки может быть хорошим вариантом.
Примерами библиотек, которые, на мой взгляд, являются достойными для внимания:
- Библиотеки шин сообщений (Kafka, RabbitMQ и т.д.)
- Библиотеки БД (Mongo, Postgres).
- Сложные криптографические вещи алгоритмы, которые не поддерживаются стандартной библиотекой.
👇 Напишите в комментаряих о ваших любимых сторонних библиотеках.
@golangprofi
❤2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
👣 Roboden-game
Создать RTS, которая бы хорошо работала в браузере с помощью #golang, сложная задача, но возможная.
Игра написана с использованием движка Ebitengine и даже доступна в Steam.
•Github
•Проект
#ebitengine #gamedev #golang
Создать RTS, которая бы хорошо работала в браузере с помощью #golang, сложная задача, но возможная.
Игра написана с использованием движка Ebitengine и даже доступна в Steam.
•Github
•Проект
#ebitengine #gamedev #golang
👍12
⚡️ Выпущен Go-HTML 1.0
Go-HTML предоставляет платформу для программирования интерактивных компонентов пользовательского интерфейса с использованием Go (вместо JavaScript) для веб-приложений.
##golang #htmx #javascript #программирование #релиз #webdev
Go-HTML может использовать компоненты Templ.
- https://go.dev/
- https://htmx.org/
- https://templ.guide/
▪️ Github
👉 Golang Юниор | #golang
Go-HTML предоставляет платформу для программирования интерактивных компонентов пользовательского интерфейса с использованием Go (вместо JavaScript) для веб-приложений.
##golang #htmx #javascript #программирование #релиз #webdev
Go-HTML может использовать компоненты Templ.
- https://go.dev/
- https://htmx.org/
- https://templ.guide/
▪️ Github
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2👎2
Будет полезно начинающим гоферам;
здесь наглядно показывается, как работают слайсы, какие они имеют методы и как взаимодействуют с разными функциями
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2
Проект чистой архитектуры Go Backend с Chi (стандартный net/http), MongoDB, JWT Authentication Middleware, Test и Docker.
#golang
▪️Github
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👎2❤1
Масштабируемый сервис транскодирования (конвертация видеофайлов из одного кодека или формата в другой.) видео, созданный с использованием Golang, Gin, AWS, Pulumi, MongoDB и Redis.
git clone https://github.com/yourusername/video-transcoding-service.git
cd video-transcoding-service
#golang
▪️ Github
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1