day-24 跳跃游戏 III

news/2024/7/20 22:13:24 标签: 游戏, 深度优先, 算法

在这里插入图片描述

思路:dfs方法,从开始节点开始进行深度优先遍历,利用一个数组vis[]记录该位置是否被访问过,如果遍历到一个已经访问的位置,返回false 如果遍历到某位置的值为0,返回true

code:

class Solution {
    public boolean ans=false;
    public boolean vis[];
    public boolean canReach(int[] arr, int start) {
        vis=new boolean[arr.length];
        dfs(arr,start);
        return ans;
    }
    public void dfs(int arr[],int start){
        if(vis[start]==true){//已经访问过
        return;
        }
        vis[start]=true;
        if(arr[start]==0){
            ans=true;
            return;
        }
        if(0<=start+arr[start]&&start+arr[start]<arr.length)
        dfs(arr,start+arr[start]);
        if(0<=start-arr[start]&&start-arr[start]<arr.length)
        dfs(arr,start-arr[start]);
    }
}

http://www.niftyadmin.cn/n/5440545.html

相关文章

C++ Primer (第五版)第六章习题部分答案

在我自学C过程中&#xff0c;我选择了CPrimer这本书&#xff0c;并对部分代码习题进行了求解以及运行结果。接下来几个月我将为大家定时按章节更新习题答案与运行结果&#xff0c;运行环境&#xff08;Visual Studio Code&#xff0c;windows 11&#xff09;&#xff1a; C Pr…

机器学习 - PyTorch tensor 和 numpy

因为numpy是一个python numerical computing library, PyTorch 可以 interact with it nicely. The two main methods you will want to use for NumPy to PyTorch (and back again) are: torch.from_numpy(ndarray) - NumPy array -> PyTorch tensortorch.Tensor.numpy()…

什么是晶振精度?对电路有什么影响?

晶振的精度是衡量其频率稳定性的重要指标&#xff0c;指在温度为25℃条件下晶振正常工作时输出的频率工差范围&#xff0c;通常以ppm(parts per million)表示即“PPM”。这意味着晶振的频率每百万分之一的偏差&#xff0c;如果以10ppm的精度为例&#xff0c;意味着每秒钟的工作…

【RabbitMQ | 第二篇】RabbitMQ基本使用

文章目录 2.RabbitMQ基本使用2.1Rabbit是什么&#xff1f;2.2特点2.3Rabbit核心概念2.3.1 Producer&#xff08;生产者&#xff09;和Consumer&#xff08;消费者&#xff09;2.3.2 Exchange&#xff08;交换器&#xff09;2.3.3 Queue&#xff08;消息队列&#xff09;2.3.4 B…

三连杆滑块机构运动学仿真 | 【Matlab源码+理论公式文本】|曲柄滑块 | 曲柄连杆 | 机械连杆

【程序简介】&#x1f4bb;&#x1f50d; 本程序通过matlab实现了三连杆滑块机构的运动学仿真编程&#xff0c;动态展现了三连杆机构的运动动画&#xff0c;同时给出了角位移、角速度和角加速度的时程曲线&#xff0c;除了程序本身&#xff0c;还提供了机构运动学公式推导文档…

YOLOv9改进策略:卷积魔改 | 分布移位卷积(DSConv),提高卷积层的内存效率和速度

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文改进内容&#xff1a; YOLOv9如何魔改卷积进一步提升检测精度&#xff1f;提出了一种卷积的变体&#xff0c;称为DSConv&#xff08;分布偏移卷积&#xff09;&#xff0c;其可以容易地替换进标准神经网络体系结构并且实现较低的存…

项目Table ‘XXX.qrtz_LOCKS‘ doesn‘t exist问题解决,mysql8 安装以及配置大小写不敏感

问题描述&#xff1a;在若依Springboot项目启动时出现了Table ‘XXX.qrtz_LOCKS‘ doesn‘t exist的问题需要配置Mysql 大小写不敏感&#xff0c;但是直接修改my.cnf后&#xff0c; 无法启动服务 系统&#xff1a;Ubuntu 安装版本 &#xff1a;MySql 8.0 1、首先重新安装mysql …

设计模式 --3:装扮模式

结构图 代码 #include<iostream>using namespace std;class person { public:person() {};person(string name) { this->name name; }virtual void show() {cout << "装扮的:" << this->name << endl;} private:string name; }; //装…