💡Задача: Сжатие строки
Условие: дается массив символов 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
💡Задача: Сортировка массива
Условие: дается массив целых чисел 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
Салют, эксперты 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
🔗 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
Вместе с 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
Креативный способ прокачать скиллы и получить +1 проект в портфолио
Про весь процесс создания, с подробным описанием и примерами читать тут
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
И ещё некоторые важные требования к техническим системам в плане отказоустойчивости и т.д. на другом изображении
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 Топ 150 задач c собеседований.
Это большой списиок самых популярных задач, которые спрашивают на собесах.
Задачи, которые покрывают 90% задач, структур данных, алгоритмов которые спрашивают на собеседованиях.
📂 Список
@golang_interview
Это большой списиок самых популярных задач, которые спрашивают на собесах.
Задачи, которые покрывают 90% задач, структур данных, алгоритмов которые спрашивают на собеседованиях.
📂 Список
@golang_interview
Оптимизации включают использование map со значениями указателей, парсинг температур вручную и создание специальной хэш-таблицы.
Самое то для понимания, как работают высоконагруженные приложения, и как можно проводить их профилирование.
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM