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

server/2024/11/26 21:33:27/

/*

题目出处: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;
}

运行结果


http://www.ppmy.cn/server/137790.html

相关文章

vue和django接口联调

vue访问服务端接口 配置跨域 前端跨域 打开vite.config.js&#xff0c;在和resolve同级的地方添加配置。 proxy代表代理的意思 "/api"是以/api开头的路径走这个配置 target代表目标 changeOrigin: true,是开启跨域请求 rewrite是编辑路径。 (path) > pa…

轻松理解操作系统 - Linux 文件系统的心脏是什么?

在前面两期&#xff0c;我们分别了解了 Linux 文件系统的重要组成部分&#xff1a;inode 和 数据块。 那 inode表 和 数据块 的信息总要有个“管理者”来进行总体的管理和提供找到它们的入口吧&#xff0c;这时候“超级块”就扮演了这个“管理者”的角色。 一、文件系统的“管家…

Python网络爬虫基础指南

Python网络爬虫基础指南 网络爬虫&#xff08;Web Crawler&#xff09;是一种自动化程序&#xff0c;用于遍历互联网上的网页并收集数据。Python因其强大的库支持和简洁的语法&#xff0c;成为开发网络爬虫的首选语言之一。本文将介绍如何使用Python编写一个简单的网络爬虫&a…

Java的Socket编程

Java的Socket编程是一种基于TCP/IP协议的通信方式&#xff0c;可以用于在客户端和服务器之间建立网络连接&#xff0c;实现数据传输。以下是Socket编程的简单示例&#xff0c;分别展示了服务器端和客户端的实现。 一、服务端代码 服务端使用ServerSocket来监听客户端的连接请…

Ubuntu:docker 安装和使用

本文将介绍在 Ubuntu 上安装和使用 docker 的方法和 bash 命令。 一、安装 sudo apt update sudo apt install docker.io二、启动 sudo systemctl start docker sudo systemctl enable docker三、下载 sudo docker pull registry.cn-hangzhou.aliyuncs.com/......四、运行 …

分布式和微服务系统区别

一、分布式是更广泛的概念&#xff0c;指将计算分布在多个物理节点上的系统。 适用于需要高可用性、高性能、可扩展性的系统。 应用场景&#xff1a;分布式数据库—数据高可用存储、分布式缓存—提升数据访问速度 分布式计算框架—大规模数据计算、分布式文件系统—海量数据的…

Hbuilder html5+沉浸式状态栏

manifest.json源码视图添加 {"statusbar": {"immersed": true }如图&#xff1a; 2、plusready准备&#xff0c;将状态栏字体变黑&#xff0c;不然背景白色、状态栏白色看不到 //2.1 如果你用了mui&#xff0c; mui.plusReady(function(){plus.navigat…

css 禁止用户选中元素

一、使用user-select属性 1. user-select: none; 可以直接应用于特定的元素&#xff0c;阻止用户选中该元素的文本内容。 .disabled-element {user-select: none;} 然后在 HTML 中&#xff0c;将这个类应用到需要禁止选中的元素上 <p class"disabled-element"…