TGViewer
Уютное сообщество С++ разработчиков Уютное сообщество С++ разработчиков @cppturbo · 775 subscribers
Post #183 200
💡Задача: Игра в прыжки

Условие: Дан целочисленный массив nums. Изначально вы находитесь в первом индексе массива, и каждый элемент массива представляет максимальную длину прыжка в этой позиции.

Верните true, если вы можете добраться до последнего индекса, или false в противном случае.

Пример:
Ввод: nums = [1,3,1,1,4]
Вывод: true
Объяснение: Переходим на 1 шаг от индекса 0 к 1, затем на 3 шага к последнему индексу.

Ввод: nums = [3,2,1,0,4]
Вывод: false

Решение:

class Solution {
public:
bool canJump(vector<int>& nums) {
int n = nums.size();
int maxReach = 0;
for (int i = 0; i < n; i++) {
if (i > maxReach) return false;
maxReach = max(maxReach, i + nums[i]);
}
return true;
}
};

Временное решение: O(N)

Пространственное решение: O(1)
More from @cppturbo
  1. Oct 4, 2026🤔 Как работает map и unordered_map? map использует структуру красно-черного дерева, подде…
  2. Sep 23, 2026photo post
  3. Sep 23, 2026🎥 Вебинар по C++: Паттерн многопоточного программирования «Producer-Consumer» Когда неско…
  4. Sep 23, 2026➕ Игра на C++ в консоли ➕
  5. Jul 7, 2026Что выведет следующий код и почему? #include <iostream> void foo(int a) { std::cout << "in…
  6. Jul 7, 2026Бросаем число #новичкам Мы привыкли, что исключения имеют какую-то свою иерархию и каждый…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →