当前位置: 首页 > news >正文

Day 9:1306 跳跃游戏III

1306 跳跃游戏III

  • 1. 题目描述
  • 2. 解题思路
  • 3. 代码实现(DFS)
  • 4. 代码实现(BFS)

1. 题目描述

1306 跳跃游戏III

2. 解题思路

  1. 使用dfsbfs的思想来进行遍历;
  2. 使用used数组来表示当前位置是否被访问过。

3. 代码实现(DFS)

class Solution {
public:bool canReach(vector<int>& arr, int start) {int n = arr.size();vector<bool> used(n, false);function<bool(int)> dfs = [&](int idx) {if (idx < 0 || idx >= n))return false;if(used[idx])return false;if (arr[idx] == 0)return true;used[idx] = true;return dfs(idx - arr[idx]) || dfs(idx + arr[idx]);};return dfs(start);}
};

4. 代码实现(BFS)

class Solution {
public:bool canReach(vector<int>& arr, int start) {int n = arr.size();vector<bool> used(n, false);queue<int> que;que.push(start);while (!que.empty()) {auto it = que.front();que.pop();// 下标超出范围if (it < 0 || it >= n)continue;// 当前位置下标已访问过if (used[it])continue;if (arr[it] == 0)return true;used[it] = true;que.push(it + arr[it]);que.push(it - arr[it]);}return false;}
};

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C++校招面经(二)
  • Spring Boot 集成 Redisson 实现消息队列
  • NLP:微调BERT进行文本分类
  • VMware Fusion虚拟机Mac版 安装Win10系统教程
  • 插入排序详解
  • 物理感知扩散的 3D 分子生成模型 - PIDiff 评测
  • 索引设计的5个原则
  • 一文详解Unity下RTMP推送|轻量级RTSP服务|RTSP|RTMP播放模块说明
  • 盘点3款.NetCore(C#)开源免费商城系统
  • 管理依赖版本-maven工程parent项目巧配置
  • C语言CRC16_CCITT_FALSE函数法和查表法实现
  • 【梯度下降算法学习笔记】
  • 基于开源鸿蒙(OpenHarmony)的【智能家居综合应用】系统
  • 评价类——熵权法(Entropy Weight Method, EWM),完全客观评价
  • 老年人养生之道:岁月静好,健康常伴
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • iOS 颜色设置看我就够了
  • iOS编译提示和导航提示
  • Java应用性能调优
  • jquery cookie
  • JS+CSS实现数字滚动
  • JS函数式编程 数组部分风格 ES6版
  • Markdown 语法简单说明
  • PAT A1092
  • python 装饰器(一)
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • spring + angular 实现导出excel
  • SQLServer插入数据
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 技术胖1-4季视频复习— (看视频笔记)
  • 将 Measurements 和 Units 应用到物理学
  • 聚类分析——Kmeans
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 树莓派 - 使用须知
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 我的面试准备过程--容器(更新中)
  • 责任链模式的两种实现
  • gunicorn工作原理
  • 阿里云服务器购买完整流程
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • #Java第九次作业--输入输出流和文件操作
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (Java数据结构)ArrayList
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (三十五)大数据实战——Superset可视化平台搭建
  • (四)stm32之通信协议
  • (五)IO流之ByteArrayInput/OutputStream
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (一)appium-desktop定位元素原理
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)