用C++编写力扣跳跃游戏2,并使用using namespace std
时间: 2024-04-16 12:24:24 浏览: 194
当然,我可以帮你编写一个使用 C++ 编写的力扣跳跃游戏2的程序。以下是一个示例代码:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int jump(vector<int>& nums) {
int n = nums.size();
if (n <= 1) {
return 0;
}
int jumps = 0;
int curr_end = 0;
int curr_farthest = 0;
for (int i = 0; i < n - 1; i++) {
curr_farthest = max(curr_farthest, i + nums[i]);
if (i == curr_end) {
jumps++;
curr_end = curr_farthest;
}
}
return jumps;
}
int main() {
vector<int> nums = {2, 3, 1, 1, 4};
int minJumps = jump(nums);
cout << "Minimum number of jumps: " << minJumps << endl;
return 0;
}
```
这个程序使用了贪心算法来计算在给定数组中到达最后一个元素所需的最小跳跃次数。它的时间复杂度为 O(n),其中 n 是数组的长度。
注意,使用 `using namespace std` 可能会导致命名空间冲突和潜在的编译问题。为了避免这些问题,我们可以使用 `std::` 前缀来指定标准库中的类和函数,而不是使用 `using namespace std`。
希望这个示例代码能帮到你!如果有任何问题,请随时提问。
阅读全文