Skip to content

Conversation

@sofiiakulish
Copy link
Owner

@sofiiakulish sofiiakulish commented May 22, 2022

Домашнее задание №3 «Частотный анализ»

Чек-лист студента (Что это?)

Критерии оценки

  • Пайплайн зелёный - 4 балла
  • Добавлены новые юнит-тесты - до 4 баллов
  • Понятность и чистота кода - до 2 баллов

Зачёт от 7 баллов

Copy link
Collaborator

@sshaplygin sshaplygin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Здравствуйте. Спасибо за выполненное задание.

Итого: 10/10

Нотация:
👍 - Классное, не обычное, оригинальное решение

👀 - Стоит обратить внимание. Рекомендация, которая не влияет на успешность выполнения задания

🔥 - Критичное замечание, которое влияет на сдачу задания

p.s. Имя модуля необходимо править, тоже
module github.com/fixme_my_friend/hw03_frequency_analysis

require.Len(t, Top10(""), 0)
})

t.Run("no words in string with only spaces", func(t *testing.T) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👀

что-то случилось с вашим форматированием кода. рекомендую перед коммитом в репозиторий

}

func GroupWords(words []string) []Word {
var result = make([]Word, 0)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👀

Так как вы в момент определения не знаете финальный размер слайса, то лучше его не инициализировать, а просто определить:

var result []Word

Далее с помощью функции append(...) слайс инициализируется и в него будет добавлен новый элемент

}

func ValueIsExists(word string, Words []Word) (Word, int) {
for i, value := range Words {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👀

Очень дорогая операция поиска в слайсе. Она по времени будет нам стоить O(N). Можно сделать эффективнее этот поиск введя дополнительный хешмап, для которого поиск будет осуществляться в среднем за O(1)

return groupedWords[i].Count > groupedWords[j].Count
})

var result = make([]string, 0)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👀

В данный момент времени вы знаете сколько вам нужно элементов, поэтому лучше инициализировать слайс определенной длины.

length := 10
if len(groupedWords) < 10 {
    length = len(groupedWords)
}
result := make([]string, 0, length)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants