您现在的位置是:首页 >技术教程 >【算法设计与分析】第七至十一讲实验网站首页技术教程
【算法设计与分析】第七至十一讲实验
简介【算法设计与分析】第七至十一讲实验
7:
1. 实验题目
给定一个非负整数的数组,每个数字表示在当前位置的基础上最多可以走的步数。求能够到达数组最后一个位置所需的最少移动次数。如果不能到达,则输出-1。
例如:
输入数组 [2,3,1,1,4],输出2——第一步从下标0移动1步到下标1,再移动3步到最后一个位置。
输入数组 [3,2,1,0,4],不能到达,输出-1——无论怎么移动都只能到下标为3的位置,在此位置最多只能移动0步,故永远无法到达最后位置。
2. 实验目的
掌握贪心法的设计思想并能熟练运用。
3. 实验要求
设计贪心算法求解。输出最小移动次数,如果不能到达,则输出-1。
#include <iostream>
using namespace std;
int Greedy(int x[], int length);
int main()
{
int length;
int x[1000];
cin >> length;
for (int i = 0; i < length; i++)
{
cin >> x[i];
}
cout << Greedy(x, length) << endl;
return 0;
}
int max(int a, int b) {
if (a >= b)
return a;
return b;
}
int Greedy(int x[], int length) {
int end=length-1,steps=0,k=0,i;
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。