[LeetCode-55]基于贪心算法的跳跃游戏的求解(C语言版)

/*

题目出处:LeetCode

题目序号:55. 跳跃游戏

题目叙述:给你一个非负整数数组 nums ,你最初位于数组的第一个下标位置 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。

*/

程序清单

#include<stdio.h>

#define TRUE 1

#define FALSE 0

int TestJump(int *nums, int length) {

int index;

int farthest = 0; // 最远距离

int jump[length];

for(index = 0; index < length; index++){

jump[index] = index + nums[index];

}

if (length == 1) {

printf("可以跳到最后。"); // 如果起始位置就是终点,则可以到达

return TRUE;

}

for (index = 0; index <= farthest; index++) {

if(farthest < jump[index]) {

farthest = jump[index];

}

if (farthest >= length - 1) {

printf("可以跳到最后。");

return TRUE;

}

}

printf("无法跳到最后。");

return FALSE;

}

int main() {

int n,i;

printf("请输入您想测试的数组的长度:\n");

scanf("%d",&n);

int a[n];

printf("请输入数组元素:\n");

for (i=0;i<n;i++){

scanf("%d",&a[i]);

}

TestJump(a,n);

return 0;

}

运行结果

相关推荐
超级土豆粉23 分钟前
ES6 哈希数据结构
数据结构·es6·哈希算法
编程绿豆侠24 分钟前
力扣HOT100之图论:200. 岛屿数量
算法·leetcode·图论
编程绿豆侠31 分钟前
力扣HOT100之图论:994. 腐烂的橘子
算法·leetcode·图论
摆烂仙君1 小时前
腾讯2025年校招笔试真题手撕(一)
java·数据结构·算法
虾球xz1 小时前
游戏引擎学习第307天:排序组可视化
c++·学习·算法·游戏引擎
虾球xz1 小时前
游戏引擎学习第306天:图结构排序的调试
c++·学习·算法·游戏引擎
多则惑少则明7 小时前
java 代码查重(三)常见的距离算法和相似度(相关系数)计算方法
java·算法·常见的距离算法和相似度
项目申报小狂人7 小时前
高性能算法RIME:基于物理的优化的霜冰优化算法
算法
_安晓7 小时前
数据结构 -- 树形查找(二)平衡二叉树
数据结构
水蓝烟雨7 小时前
[每日一题] 3362. 零数组变换 iii
算法·每日一题