地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人能够到达多少个格子?
 
示例 1:
输入:m = 2, n = 3, k = 1
输出:3

示例 1:
输入:m = 3, n = 1, k = 0
输出:1

提示:

 1 <= n,m <= 100
 0 <= k <= 20
 
思路:朝一个方向一直探寻,碰到边界,或者数位和大于k返回,并对已经探寻过的点标记为1.
 1 int dfs(int m, int n, int k, int i, int j, int *visited)
2 {
3 if(i < 0 || i == m || j < 0 || j == n || visited[i*n + j] == 1 || i%10+i/10+j%10+j/10 > k)
4 {
5 return 0;
6 }
7 visited[i*n + j] = 1;
8 return dfs(m,n,k,i+1,j,visited) + dfs(m,n,k,i,j+1,visited) + 1;
9 }
10
11 int movingCount(int m, int n, int k)
12 {
13 int visited[m * n];
14 memset(visited,0,m*n*sizeof(int));
15 int ans = dfs(m,n,k,0,0,(int *)visited);
16 return ans;
17 }
 
 

机器人的运动范围(dfs)(leetcode 4.8 每日打卡)的更多相关文章

  1. Java实现 LeetCode 面试题13. 机器人的运动范围(DFS)

    面试题13. 机器人的运动范围 地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] .一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左.右.上.下移动一格(不能移动 ...

  2. 剑指 Offer 13. 机器人的运动范围 + 深搜 + 递归

    剑指 Offer 13. 机器人的运动范围 题目链接 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2020/12/ ...

  3. 剑指 Offer 13. 机器人的运动范围

    剑指 Offer 13. 机器人的运动范围 地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] .一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左.右.上.下移动一 ...

  4. 【Java】 剑指offer(12) 机器人的运动范围

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 地上有一个m行n列的方格.一个机器人从坐标(0, 0)的格子开始移 ...

  5. 《剑指offer》第十三题(机器人的运动范围)

    // 面试题:机器人的运动范围 // 题目:地上有一个m行n列的方格.一个机器人从坐标(0, 0)的格子开始移动,它 // 每一次可以向左.右.上.下移动一格,但不能进入行坐标和列坐标的数位之和 // ...

  6. 机器人的运动范围 牛客网 剑指Offer

    机器人的运动范围 牛客网 剑指Offer 题目描述 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大 ...

  7. 【LeetCode】面试题13. 机器人的运动范围

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 BFS 日期 题目地址:https://leetcod ...

  8. 剑指offer:机器人的运动范围(回溯法DFS)

    题目描述 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子. 例如,当k为18时,机器人能 ...

  9. 剑指offer--48.机器人的运动范围

    这道题不是要求走一趟最多走多少,而是最多走多少,WA几次才想通. ------------------------------------------------------------------- ...

  10. [剑指Offer] 66.机器人的运动范围

    题目描述 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子. 例如,当k为18时,机器人能 ...

随机推荐

  1. 何为DDD

    从这一刻开始,请大家忘记自己是一名技术人员,用业务的角度来思考问题. 1.什么是DDD DDD(Domain-driven design,领域驱动设计),是一个很好的应用于微服务架构的方法论 DDD要 ...

  2. html元数据

    元数据就是用来描述数据的数据.HTML中也有很多元数据. <meta>标签提供关于HTML文档的元数据:描述(description)\关键词(keywords).文档的作者(author ...

  3. 记一次使用pagehelper的坑(返回的total和size每页条数一致的问题)

    问题描述 众所周知,pagehelper使用时应该在dao查询语句的前一句加上PageHelper.startPage,所以标题的问题由此引出-- 原因 PageHelper.startPage使用后 ...

  4. sqli笔记

    MySQL数据库自带的数据库information_schema 里面有三个比较重要的表  SCHEMATA .TABLES . COLUMNS  保存数据库所有的数据库名 表名  字段名 SCHEM ...

  5. Qt+GDAL开发笔记(二):在windows系统msvc207x64编译GDAL库、搭建开发环境和基础Demo

    前言   上一篇使用mingw32版本的gdal,过程曲折,为更好的更方便搭建环境,在windows上msvc方式对于库比较友好.   大地坐标简介 概述   大地坐标(Geodetic coordi ...

  6. nodejs中事件循环机制与面试题详解

    nodejs中架构如下图所示,通过v8引擎来执行js代码,通过中间层 libuv 来读写文件系统.网络等做一些操作.     nodejs中提供阻塞和非阻塞的调用方式,比如fs模块中读取文件,可以根据 ...

  7. Android OAID 获取 基于MSA oaid_sdk_1.0.25.zip

    目录 简介 SDK下载 支持版本 开始使用 可能遇到的问题 替代方案 APK下载 写在最后 简介 本文链接:https://www.cnblogs.com/dks-/p/14357041.html 根 ...

  8. 社区活动 | “中文 AI 微小说大赛”正式开启报名!

    ️ 我们要求每位参赛选手以 LLM (大语言模型)为工具,将 AI 的能力与选手的创作才华相结合,创造出引人入胜.感人至深或充满疯狂的微小说! 无论你是首次接触 AI 工具还是资深的从业者,我们期待在 ...

  9. Feign的超时时间如何设置,我研究了4种情况

    大家好,我是三友~~ 今天来聊一聊前段时间看到的一个面试题,也是在实际项目中需要考虑的一个问题,Feign的超时时间如何设置? Feign的超时时间设置方式并不固定,它取决于Feign在项目中是如何使 ...

  10. chatglm2-6b模型在9n-triton中部署并集成至langchain实践

    一.前言 近期, ChatGLM-6B 的第二代版本ChatGLM2-6B已经正式发布,引入了如下新特性: ①. 基座模型升级,性能更强大,在中文C-Eval榜单中,以51.7分位列第6: ②. 支持 ...