每日写题分享--机器人的运动范围//DFS深度优先搜索/递归

2023-11-19

题目描述:

 

 题目链接戳此

解题思路:

这题和上题矩阵中的路径可以对比起来看,同样也是深度优先搜索(DFS)。由于机器人从[0][0]位置向下向右探索,右边的下面和下面的右边可能会重复,所以可以将走过的路径记录下来置为true防止重复走。

代码实现如下:

class Solution {
    public int movingCount(int m, int n, int k) {
        boolean[][] visited = new boolean[m][n];
        return dfs(m,n,0,0,k,visited);
    }
    public int dfs(int m,int n,int i,int j,int k,boolean[][] visited) {
        if (i / 10 + i % 10 + j / 10 + j % 10 > k) return 0;//题目指明只有两位数
        if (i > m - 1 || j > n - 1 || visited[i][j]) return 0;
        visited[i][j] = true;
        return dfs(m,n,i + 1,j,k,visited) + dfs(m,n,i,j + 1,k,visited) + 1;
    }  
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

每日写题分享--机器人的运动范围//DFS深度优先搜索/递归 的相关文章

  • Spring Boot 配置文件这样加密,才足够安全!

    1 前景 在使用Springboot时 通常很多信息都是在application yml中直接明文配置的 比如数据库链接信息 redis链接信息等等 但是这样是不安全的 所以需要对敏感数据进行加密 这样防止密码泄露 Jasypt这个库为我们
  • Go开发命令行程序指南

    近期在Twitter上看到一个名为 Command Line Interface Guidelines 的站点 1 这个站点汇聚了帮助大家编写出更好命令行程序的哲学与指南 这份指南基于传统的Unix编程原则 2 又结合现代的情况进行了 与时

随机推荐

  • 封装的几种形式

    你说的时cpu的封装吗 供你参考 集成电路芯片的封装形式 自从美国Intel公司1971年设计制造出4位微处a理器芯片以来 在20多年时间内 CPU从Intel4004 80286 80386 80486发展到Pentium和Pentium
  • 基于Jenkins实现Docker应用的持续集成与部署

    先决条件 1 服务器部署安装有docker 在docker应用开发中最常见的就是开发Dockerfile文件 可以使用代码仓库来管理它 而在企业私有开发环境中是无法访问公有代码仓库 如Github 的 这时可以搭建私有代码仓库 部署安装sv
  • 堆排序专题-把一个数组变成大根堆的两种方式和根据大根堆来实现对数组的排序,

    什么是堆排序 堆排序 Heap Sort 是一种基于二叉堆数据结构的排序算法 它的基本思想是将待排序的数组构建成一个大根堆或小根堆 然后依次将堆顶元素与堆尾元素交换 并重新调整堆 直到整个数组有序 堆排序的时间复杂度为O nlogn 是一种
  • python无人机路径规划算法_RRT算法在Python中的实现,快速,拓展,随机,树

    基于智能优化与RRT算法的无人机任务规划方法研究 博士论文 基于改进人工势场法的路径规划算法研究 硕士论文 import matplotlib pyplot as plt import random import math import c
  • STM32基于GPRS模组使用HTTP协议单片机固件在线升级(IAP)

    一 前言 最近有朋友让我帮忙开发基于GPRS模组的单片机固件在线升级 这样的远程升级就两种方式 1 自己定义协议 服务器端进行bin文件拆包 一包包下发 优点 可以每包一校验还可以断点续传 不需要考虑Flash学入占用的时间 缺点 需要服务
  • https网络编程——如何利用中继证书(凭证)建立客户端证书

    参考 如何利用中继证书 凭证 建立客户端证书 地址 https qingmu blog csdn net article details 108226592 spm 1001 2014 3001 5502 目录 建立客户端证书的前提是要建立
  • UE4命令行使用,解释

    命令行在外部 从命令行运行编辑项目 1 导航到您的 LauncherInstall VersionNumber Engine Binaries Win64 目录中 2 右键单击上 UE4Editor exe 的可执行文件 并选择创建快捷方式
  • vscode 中使用鼠标Ctrl+滚轮放大缩小

    1 使用鼠标Ctrl 滚轮放大缩小 打开 文件 gt 首选项 gt 设置 gt 用户 gt 下面的JSON 2 3 点击在settings json中编辑 4 添加下面一行 editor mouseWheelZoom true 5 最后保存
  • MachineLearningWu_15/P70-P71_AdamAndConv

    x 1 算法参数更新 我们使用梯度下降算法来自动更新参数 但是由于学习率的不好选择性 我们有时候会下降地很快 有时候下降地很慢 我们期望有一种方式能够自动调整学习率的变化 这里引入Adaptive Moment Estimation Ada
  • eclipse汉化方式(下载,安装,中英切换)

    按照下面的步骤完成Eclipse的汉化 对初学java的小伙伴们很有帮助哦 愿大家能够学习进步 eclipse汉化的两种方式 第一种方式 第二种方式 第一种方式 一 第一步准备工作 打开eclipse点击Help About eclipse
  • Unity 3D input.GetAxis用法

    input GetAxis 用法 GetAxis Mouse X GetAxis Mouse Y GetAxis Mouse ScrollWheel GetAxis Vertical GetAxis Horizontal GetAxis 是
  • 深度特征融合---高低层(多尺度)特征融合

    目录 概述 基本概念 典型方法概述 相关工作 多尺度模型设计 Deep Feature Fusion for VHR 高分辨率图像 Remote Sensing Scene Classification DCA特征融合方法 基于神经网络的目
  • session获取与存储

    方法一 首先要明白 session是在服务器端创建并保存在服务器端 当代码中创建session时会相应地创建sessionID保存在服务器端 同时服务器向浏览器响应信息时会以cookie形式 其实就是 JSESSION sessionID
  • 什么是Java?

    刚开始学习Java时 对于老师讲述的Java的发展历程毫无兴趣 觉得只要会用就行了 直到有一天我的朋友突然问我 你们学的Java是什么呀 面对他突如其来的问题 我一下有点不知所措 刚想开口却又不知道说些什么 只能慢慢的吐出那几个字 一门编程
  • IDEA 错误: 找不到或无法加载主类

    问题 问题就是spring boot项目在IDEA中 启动类右键运行 控制台提示 错误 找不到或无法加载主类 xxx xxx xxx xxxx 启动类包名 原因 问题原因 运行启动类的时候代码没有编译到target目录下如下图 发现编译过后
  • ubuntu16.04 安装 pcl1.7

    不使用源码编译的方式 而是使用官网prebuild版本的方式安装 sudo add apt repository ppa v launchpad jochen sprickerhof de pcl sudo apt get update s
  • python指定宽度20输出_Python 以指定宽度格式化输出

    Python 以指定宽度格式化输出 2020 05 07 当对一组数据输出的时候 我们有时需要输出以指定宽度 来使数据更清晰 1 mat 20 t 28 t 32 print mat format 占4个长度 占8个长度 占12长度 2 如
  • JS关于Object.assign()和浅拷贝、深拷贝

    什么是浅拷贝和深拷贝 js中存对象都是存地址的 浅拷贝指向的是同一块内存区块 深拷贝则是另外开辟了一块区域 两个例子 var obj1 num 100 str abc var obj2 obj1 obj2 num 200 console l
  • 图像处理神器 ImageMagick 命令介绍

    安装完 ImageMagick 打开命令行 输入相应命令即可处理图像 所有命令前面都要加 magick 网上的教程都没说 也可能是我自己环境没配置吧 说明 内的命令表示是可选的 内表示是示例或者代号而已 magick convert sou
  • 每日写题分享--机器人的运动范围//DFS深度优先搜索/递归

    题目描述 题目链接戳此 解题思路 这题和上题矩阵中的路径可以对比起来看 同样也是深度优先搜索 DFS 由于机器人从 0 0 位置向下向右探索 右边的下面和下面的右边可能会重复 所以可以将走过的路径记录下来置为true防止重复走 代码实现如下