👣 Решаем задачи. Реализуем алгоритм «Посмотри-и-скажи» (Count and Say).
«Посмотри-и-скажи» — это последовательность чисел, начинающаяся следующим образом:
1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211,… (последовательность A005150 в OEIS).
Каждое последующее число генерируется из предыдущего путём конкатенации цифры, из которой состоит группа одинаковых цифр и количества цифр в этой группе, для каждой группы одинаковых цифр в числе.
Решим задачу с leetcode: https://leetcode.com/problems/count-and-say
Пример1: Input: n = 1
Output: '1'
Пример2:Input: n = 4
Output: '1211'
Explanation:
countAndSay(1) = '1'
countAndSay(2) = say '1' = one 1 = '11'
countAndSay(3) = say '11' = two 1's = '21'
countAndSay(4) = say '21' = one 2 + one 1 = '12' + '11' = '1211'
Ограничения:- 1 <= n <= 30
Решение: func countAndSay(n int) string {
dp := make([]string, n + 1)
dp[1] = '1'
var current, next string
counter := 1
for i := 2; i <= n; i++ {
current = dp[i - 1]
next = ''
counter = 1
for j := 1; j < len(current); j++ {
if current[j - 1] == current[j] {
counter++
} else {
next += strconv.Itoa(counter) + string(current[j - 1])
counter = 1
}
}
next += strconv.Itoa(counter) + current[len(current) - 1:]
dp[i] = next
}
return dp[n]
}
👉 Пишите свое решение в комментариях👇
@Golang_google
Hands-On System Programming with Go
Автор: Alex Guerrieri
Год издания: 2019
#go #english
Скачать книгу
👣 7 интересных библиотек Go, с помощью которых вы сможете улучшить свой следующий проект
Вы когда-нибудь обнаруживали, что застряли в середине проекта, пытаясь решить сложную проблему? Что ж, вы не одиноки. Многие разработчики сталкиваются с такими проблемами при создании программного обеспечения, и именно в данных ситуациях пригождаются библиотеки.
Они помогают вам легко создавать сложные и трудоёмкие программы, экономя ваше время и усилия. С таким количеством библиотек может быть трудно решить, какую из них использовать. Итак, я составил список из 7 библиотек Go, которые обязательно помогут вам на вашем пути разработчика.
▪ Читать
@Golang_google
Всем, привет👋
Проводим небольшое исследование по просьбе одной уважаемой компании: хотим выяснить, кого вы считаете мировым лидером среди технологических компаний.
Поделитесь своим мнением — а мы потом поделимся результатами.
Пройти короткий (всего 2 вопроса, займет меньше минуты) опрос можно вот тут
🖥 pgx - PostgreSQL Driver and Toolkit
Эта библиотека предоставляет возможность взаимодействия с базами данных PostgreSQL на языке Go с помощью быстрого и эффективного драйвера, позволяющего с легкостью выполнять SQL-запросы, транзакции и массовые операции.
🖥 Github
@Golang_google
👨🏻💻 Интересно функциональное программирование? Начните изучение Scala — это один из самых высокооплачиваемых языков программирования в мире. Его используют многие крупные компании, такие как Twitter, LinkedIn, Тинькофф-банк и крупнейшие производители ПО. Перейти в эту область тебе поможет онлайн-курс «Scala Developer» от OTUS.
Пройди вступительный тест, чтобы проверить свой уровень подготовки для курса и получить доступ ко всем открытым-урокам.
На курсе тебя ждет 4 месяца интенсивной практики и поддержки экспертов по Scala. На нем ты:
- научишься использовать Akka для создания микросервисов,
- освоишь функциональное программирование и библиотеку ZIO,
- освоишь модульные тесты на основе инвариантов свойств и многое другое.
👉🏻 Вступительный тест — https://otus.pw/b8KB/
Курс рассчитан на разработчиков с опытом от 1 года на Java или с опытом от 3-х лет на других языках ООП.
Реклама. Информация о рекламодателе на сайте www.otus.ru.
👣 Bob — билдер SQL-запросов для Go с поддержкой PostgreSQL, MySQL и SQLite.
https://github.com/stephenafamo/bob
@Golang_google
Открытые практикумы DevOps, Linux, Networks и Golang by Rebrain: расписание на апрель 2023
Мы проводим бесплатные практикумы на всевозможные IT темы. Основное — Kubernetes, Docker, Ansible, Gitlab CI, Linux, Kafka , MySQL, Golang и др. Работаем в консоли, разбираем реальные кейсы на практике. Анонсы публикуем на нашем канале в Telegram
👉Подключайтесь
🗓4 апреля DevOps: Проверка состояния работоспособности сервисов с помощью haproxy (Александр Крылов - Lead DevOps В ПАО СК Росгосстрах)
🗓5 апреля Linux: ZFS (Андрей Буранов - Специалист по UNIX-системам в компании VK)
🗓6 апреля Golang: Перекладываем JSON без рутины (Павел Грязнов - Go Senior Developer)
🗓11 апреля DevOps: Запускаем MySQL, Percona Server и MariaDB с помощью Docker (Николай Лавинский - Технический директор в ООО “Метод Лаб”)
🗓12 апреля Linux: Установка Linux Ubuntu (Андрей Буранов - Специалист по UNIX-системам в компании VK)
🗓13 апреля Networks: Сегментация сети без разделения на подсети (Ольга Яновская - Руководитель направления Networks...
👨💻 Хотите освоить лучшие инструменты по разработке микросервисной архитектуры?
Ответьте на 11 вопросов, чтобы проверить достаточно ли ваших навыков, чтобы строить архитектуру микросервисов и попасть на курс — «Microservice Architecture» от OTUS.
На полном курсе вы научитесь проектировать сложный бэкенд и работать с легаси-проектами, разбираться с трудными ситуациями и находить нестандартные решения. Все это на практике, с реальными кейсами и под руководством команды экспертов!
👉 Пройти тест — https://otus.pw/PW30/
💣 После прохождения у вас будет возможность записаться на курс по спец. цене и оформить рассрочку. А также вы получите доступ к записям 27 открытых уроков курса.
Реклама. Информация о рекламодателе на сайте www.otus.ru.
Открытый практикум DevOps by Rebrain: Запускаем MySQL, Percona Server и MariaDB с помощью Docker
Успевайте зарегистрироваться. Количество мест строго ограничено! Запись практикума “DevOps by Rebrain” в подарок за регистрацию!
👉Регистрация
Время проведения:
11 Апреля (Вторник) в 19:00 по МСК
Программа практикума:
🔹Посмотрим, как можно одновременно запустить три варианта MySQL на одном хосте с помощью Docker
🔹Обсудим, как проводить базовые операции с базами данных в контейнерах
🔹И другие особенности работы в Docker
Кто ведет?
Николай Лавинский - Технический директор в ООО “Метод Лаб”. Веб-разработчик более 15 лет. Преподаватель технологий на онлайн-платформах. Спикер конференций HighLoad++, РИТ++. Специализация: ускорение сайтов и веб-приложений
Бесплатные практикумы по DevOps, Linux, Networks и Golang от REBRAIN каждую неделю. Подключайтесь!
Как спроектировать архитектуру нагруженного twitter-like приложения? Разберемся 🗓 14 апреля в 20:00 на открытом уроке вместе с Андреем Поляковым, старшим разработчиком в Unlimint.
На открытом уроке мы:
- спроектируем типовую архитектуру нагруженного twitter-like приложения,
- определим пользовательские сценарии и узкие места прототипа,
- обсудим один из самых популярных вопросов на system design interview.
👉 Чтобы записаться на урок, пройдите вступительное тестирование — https://otus.pw/MPQp6/
Занятие является бесплатной пробной частью онлайн-курса «Highload Architect». Оплата курса возможна в рассрочку.
Реклама. Информация о рекламодателе на сайте www.otus.ru.
👣 Тестовое задание дорожки в парке
Составьте программу, реализующую алгоритм Крускала для вычисления минимальной суммарной длины дорожек в парке аттракционов. Дорожки должны быть проложены таким образом, чтобы между любыми двумя аттракционами существовал маршрут.
Программа должна считывать со стандартного потока ввода количество аттракционов и их координаты. При этом координаты каждого аттракциона задаются парой целых чисел (в декартовой системе).
Программа должна выводить в стандартный поток вывода минимальную суммарную длину дорожек с точностью до двух знаков после запятой.
Например, для входных данных12
2 4
2 5
3 4
3 5
6 5
6 6
7 5
7 6
5 1
5 2
6 1
6 2
программа должна выводить число 14.83.
👉 Пишите ваше решение в комментариях👇
@Golang_google
Набор на бесплатный курс продвинутой Go-разработки от экспертов Ozon
Go — целевая платформа разработки, принятая в Ozon Tech. На Go написано >1000 микросервисов, обеспечивающих работу сайта, склада, систем логистики.
На курсе Route 256 ведущие инженеры Ozon поделятся своим опытом разработки микросервисов.
Что еще будут изучать:
🔹Observability и SRE
🔹Шардирование и кэширование
🔹Очереди сообщений и паттерны проектирования сложных систем
В конце участники смогут добавить в свое портфолио несколько микросервисов, разработанных во время курса.
Как попасть на курс?
Оставь заявку на сайте ➡️ 30 апреля пройди отборочный контест на языке Go ➡️ попади в рейтинг лучших ➡️ развивайся под менторством экспертов Ozon.
Оставить заявку
Level up для back-end разработчиков, тимлидов и администраторов — это умение разрабатывать микросервисную архитектуру и создавать масштабируемые, fault-tolerant приложения! Хотите сделать первый шаг в этом направление? Тогда приглашаем на открытые уроки онлайн-курса «Microservice architecture» OTUS с экспертами-практиками.
🗓 3 апреля в 20:00 — «Брокеры сообщений: RabbitMQ и Kafka»
Чтобы обеспечить асинхронную связь между микросервисами, нужен брокер сообщений, например — Kafka или RabbitMQ. На занятии вместе с Евгением Непомнящим, опытным разработчиком, мы ознакомимся с основными принципами работы этих брокеров, а также посмотрим на их использование в live demo.
👉 Для регистрации пройдите вступительный тест — https://otus.pw/4Fmq/
🗓 17 апреля в 20:00 — «Модульные монолиты и DDD»
На этом открытом уроке рассмотрим основные паттерны для построения и написания модульных монолитов. Особое внимание уделим паттернам DDD. Урок проведет Станислав Щетинников, директор по развитию.
👉 Для регистрации пройдите вст...
Level up для back-end разработчиков, тимлидов и администраторов — это умение разрабатывать микросервисную архитектуру и создавать масштабируемые, fault-tolerant приложения! Хотите сделать первый шаг в этом направление? Тогда приглашаем на открытые уроки онлайн-курса «Microservice architecture» OTUS с экспертами-практиками.
🗓 3 апреля в 20:00 — «Брокеры сообщений: RabbitMQ и Kafka»
Чтобы обеспечить асинхронную связь между микросервисами, нужен брокер сообщений, например — Kafka или RabbitMQ. На занятии вместе с Евгением Непомнящим, опытным разработчиком, мы ознакомимся с основными принципами работы этих брокеров, а также посмотрим на их использование в live demo.
👉 Для регистрации пройдите вступительный тест — https://otus.pw/cduX/
🗓 17 апреля в 20:00 — «Модульные монолиты и DDD»
На этом открытом уроке рассмотрим основные паттерны для построения и написания модульных монолитов. Особое внимание уделим паттернам DDD. Урок проведет Станислав Щетинников, директор по развитию.
👉 Для регистрации пройдите вст...
Вам нравится читать контент на этом канале?
Возможно, вы задумывались о том, чтобы купить на нем интеграцию?
Следуйте 3 простым шагам, чтобы сделать это:
1) Регистрируйтесь по ссылке: https://telega.in/c/golangquiz
2) Пополняйтесь удобным способом
3) Размещайте публикацию
Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.
Боль всех работяг – долбо**ы на клиентах и начальстве
Мы устали от переработок, правок, плохого ТЗ и грубого отношения!
Поэтому собрали всех в одном зоопарке: Клиент Покинул Чат
Поделись своей болью анонимно или посмотри на "хороших" клиентов – @clientochat
👨🏻💻 Интересно функциональное программирование? Начните изучение Scala — это один из самых высокооплачиваемых языков программирования в мире. Его используют многие крупные компании, такие как Twitter, LinkedIn, Тинькофф-банк и крупнейшие производители ПО. Перейти в эту область тебе поможет онлайн-курс «Scala Developer» от OTUS.
Пройди вступительный тест, чтобы проверить свой уровень подготовки для курса и получить доступ ко всем открытым-урокам.
На курсе тебя ждет 4 месяца интенсивной практики и поддержки ведущих экспертов по Scala. На нем ты:
- научишься использовать Akka для создания микросервисов,
- освоишь функциональное программирование и библиотеку ZIO,
- освоишь модульные тесты на основе инвариантов свойств и многое другое.
👉🏻 Вступительный тест — https://otus.pw/zioJ/
Курс рассчитан на разработчиков с опытом от 1 года на Java или с опытом от 3-х лет на других языках ООП.
Реклама. Информация о рекламодателе на сайте www.otus.ru.
👣 Bot Aquarium
Проект на Go для работы с Linux-контейнерами,кль управляемые искусственным интеллектом.
🖥 Github
@Golang_google