💡Задача: Сжатие строки
Условие: дается массив символов chars, сожмите его, используя следующий алгоритм:
Начинайте с пустой строки s. Для каждой группы последовательных повторяющихся символов в chars:
Если длина группы равна 1, добавьте символ для просмотра.
В противном случае добавьте символ, за которым следует длина группы.
Сжатые строки не должны возвращаться отдельно, а вместо этого должны храниться во входном символьном массиве chars. Обратите внимание, что длина группы, равная 10 или более, будет разделена на несколько символов в chars.
После того, как вы закончите изменять входной массив, верните новую длину массива.
Вы должны написать алгоритм, который использует только постоянное дополнительное пространство.
Пример:
Ввод: chars = ["a","a","b","b","c","c","c"]
Вывод: Return 6, and the first 6 characters of the input array should be: ["a","2","b","2","c","3"]
Решение
Пишите свое решение в комментариях👇
@golang_interview
Условие: дается массив символов chars, сожмите его, используя следующий алгоритм:
Начинайте с пустой строки s. Для каждой группы последовательных повторяющихся символов в chars:
Если длина группы равна 1, добавьте символ для просмотра.
В противном случае добавьте символ, за которым следует длина группы.
Сжатые строки не должны возвращаться отдельно, а вместо этого должны храниться во входном символьном массиве chars. Обратите внимание, что длина группы, равная 10 или более, будет разделена на несколько символов в chars.
После того, как вы закончите изменять входной массив, верните новую длину массива.
Вы должны написать алгоритм, который использует только постоянное дополнительное пространство.
Пример:
Ввод: chars = ["a","a","b","b","c","c","c"]
Вывод: Return 6, and the first 6 characters of the input array should be: ["a","2","b","2","c","3"]
Решение
Пишите свое решение в комментариях👇
@golang_interview
👍6🔥2❤1
💡Задача: Сортировка массива
Условие: дается массив целых чисел nums, отсортируйте массив в порядке возрастания и верните его.
Вы должны решить проблему без использования каких-либо встроенных функций в O(nlog(n)) временной сложности и с наименьшей возможной пространственной сложностью.
Пример:
Ввод: nums = [5,2,3,1]
Вывод: [1,2,3,5]
Ввод: nums = [5,1,1,2,0,0]
Вывод: [0,0,1,1,2,5]
Решение
Пишите свое решение в комментариях👇
@golang_interview
Условие: дается массив целых чисел nums, отсортируйте массив в порядке возрастания и верните его.
Вы должны решить проблему без использования каких-либо встроенных функций в O(nlog(n)) временной сложности и с наименьшей возможной пространственной сложностью.
Пример:
Ввод: nums = [5,2,3,1]
Вывод: [1,2,3,5]
Ввод: nums = [5,1,1,2,0,0]
Вывод: [0,0,1,1,2,5]
Решение
Пишите свое решение в комментариях👇
@golang_interview
👍4❤2👎2🤯2🥰1
Салют, эксперты Go!
❓ Вопрос: какой из этих 2 вариантов предпочтительнее?
Стоит ли делать переменную
Или пусть это всё так и будет в
Что думаете по этому поводу?
@golang_interview
Стоит ли делать переменную
port
глобальной и вместе с этим вынести проверку порта в init()
? Или пусть это всё так и будет в
main()
?Что думаете по этому поводу?
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡18👍4❤1👎1🔥1
🔗 eecs376.github.io/notes/algorithms.html
Прокачивайся — и тогда ИИ тебя не заменит)
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤3👍2
Вместе с Templ мы можем написать следующий код:
/ index.templ
package mainhttps://github.com/a-h/templ/raw/main/ide-demo.gif
templ hello(name string) {
if name == "Виктор" {
<div>Привет, Виктор! Как твои дела сегодня?</div>
} else {
<div>Hello, { name }</div>
}
}
templ greeting(person Person) {
<div class="greeting">
@hello(person.Name)
</div>
}
// ...
Далее вам просто нужно запустить процесс генерации всех
*.templфайлов
...:go run github.com/a-h/templ/cmd/templ@latest generate
...и после этого
index.templ
будет преобразована в обычную функцию Go и готоа к запуску. Выглядеть она может как-то так: // main.go
package main
// ...
// Simple user struct.
type Person struct {
Name string
}
func main() {
// Create a new user with name.
user := Person{Name: "John"}
// Create Templ handler.
handler := templ.Handler(greeting(user))
// Serve Templ handler with HTTP server.
http.Handle("/", handler)
// Start simple HTTP server.
http.ListenAndServe(":3000", nil)
}
Теперь откройте браузер
http://localhost:3000
и посмотрите результат.Да, это так просто!
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🥴10🔥4❤3🤡1
Креативный способ прокачать скиллы и получить +1 проект в портфолио
Про весь процесс создания, с подробным описанием и примерами читать тут
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3❤1🤔1🤩1
Напиши функцию на Go, которая будет принимать слайс целых чисел и возвращать новый слайс, содержащий только уникальные элементы исходного слайса. При решении задачи используй только встроенные пакеты языка Go.
Написал?
Можешь смотреть один из вариантов решения
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4❤3❤🔥1
И ещё некоторые важные требования к техническим системам в плане отказоустойчивости и т.д. на другом изображении
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤3🥱3🔥2
Напиши программу, которая будет читать файл и выводить топ 10 самых часто встречающихся слов.
Написал? Тогда можешь смотреть решение; оно специально не самое оптимальное, так что предлагай свой вариант кода в комментах
Данное решение использует передачу файла как аргумента командной строки, поэтому
go run <файл.go> <файл.txt>
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤2🔥1😁1
💡 Топ 150 задач c собеседований.
Это большой списиок самых популярных задач, которые спрашивают на собесах.
Задачи, которые покрывают 90% задач, структур данных, алгоритмов которые спрашивают на собеседованиях.
📂 Список
@golang_interview
Это большой списиок самых популярных задач, которые спрашивают на собесах.
Задачи, которые покрывают 90% задач, структур данных, алгоритмов которые спрашивают на собеседованиях.
📂 Список
@golang_interview
👍14❤2🔥2
Оптимизации включают использование map со значениями указателей, парсинг температур вручную и создание специальной хэш-таблицы.
Самое то для понимания, как работают высоконагруженные приложения, и как можно проводить их профилирование.
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥6❤3😁1
Задание: напиши программу на Go, которая будет генерировать простые числа с помощью алгоритма "Решето Эратосфена".
"Решето Эратосфена" используется для нахождения простых чисел, алгоритм такой:
Получилось? Можешь смотреть решение
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3❤1