Решаю задачу с собеседования в Яндекс: reverse linked list

Решаю задачу с собеседования в Яндекс: reverse linked list

Владимир Балун

2 года назад

7,045 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

@Evgru111
@Evgru111 - 29.04.2022 13:22

Спасибо! Круто! Хотелось бы формат собеседования ))

Ответить
@uselesshuman2567
@uselesshuman2567 - 08.06.2022 09:58

Вещь !

Ответить
@Hotrification
@Hotrification - 10.07.2022 12:32

Владимир, у меня вопрос, почему задачи такие легкие для собеса в Яндекс? На Яндекс контесте, на бэкенд стажировку были задачи в много раз сложнее.

Ответить
@alexeyfalcon4138
@alexeyfalcon4138 - 07.03.2023 19:13

struct List {
ListNode* reverseList(ListNode* head) {

ListNode* ans = nullptr;
while (head != nullptr) {
ListNode* node = head;
head = head->next;
node->next = ans;
ans = node;
}
return ans;
}
};
1->2->3->4->5
можете пояснить, при такой реализации, как происходит подцепление
1. создаем node, указатель на голову(единица)
2. сдвигаем голову на один элемент(двойка)
а вот дальше не совсем понятно node-> next это еще единица, зачем тогда тут next ? (или node-> next мы присваиваем указателю node -> nullptr)?

Ответить
@АндрейПопов-ф4и9ц
@АндрейПопов-ф4и9ц - 26.03.2023 13:55

Меня возьмут в гугол?)
func reverse(arr []int32) []int32 {
rev := make([]int32, len(arr))
for i, j := 0, len(arr)-1; i < len(arr); i, j = i+1, j-1 {
rev[j] = arr[i]
}
return rev
}

Ответить
@tamagiltamagil339
@tamagiltamagil339 - 02.04.2023 10:20

спасибо!

Ответить
@rileyusagi1557
@rileyusagi1557 - 13.05.2023 13:14

Максимально непонятно

Ответить
@maksigors
@maksigors - 08.09.2023 18:10

спасибо, максимально понятно, до этого не мог уловить процесс замены))

Ответить
@MrIbah42
@MrIbah42 - 19.11.2023 22:41

типичный литкод булшит)
адекватнее не 2 указателя а изначально в структуру всунуть размер)))

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

Ответить