python机器人运动范围问题的解答


Posted in Python onApril 29, 2019

机器人的运动范围Python实现:

问题:地上有个 m 行 n 列的方格。一个机器人从坐标(0,0)的格子开始移动,它每一次可以向左、右、上、下移动一格,但不能进入行坐标和列坐标的数位之和大于 k 的格子。

例如,当 k 为 18 时,机器人能够进入方格(35,37),因为 3+5+3+7=18 但它不能进入方格(35,38),因为 3+5+3+8=19 请问该机器人能够达到多少格子?

回溯算法。

当准备进入坐标(i,j)时,通过检查坐标的数位来判断机器人能否进入。如果能进入的话,接着判断四个相邻的格子。

代码:

# -*- coding:utf-8 -*-
class Solution:
 def movingCount(self, threshold, rows, cols):
  # write code here
  matrix = [[True for i in range(cols)] for j in range(rows)]
  result = self.findgrid(threshold, rows, cols, matrix, 0, 0)
  return result
 
 def judge(self, threshold, i, j):
  if sum(map(int,str(i)+str(j))) <= threshold:
   return True
  else:
   return False
  
 def findgrid(self, threshold, rows, cols, matrix, i, j):
  count = 0
  if i < rows and i>=0 and j<cols and j>=0 and self.judge(threshold, i, j) and matrix[i][j]:
   matrix[i][j] = False
   count = 1+ self.findgrid(threshold, rows, cols, matrix, i-1, j) \
     + self.findgrid(threshold, rows, cols, matrix, i+1, j) \
     + self.findgrid(threshold, rows, cols, matrix, i, j-1) \
     + self.findgrid(threshold, rows, cols, matrix, i, j+1)
  return count

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
从零学python系列之新版本导入httplib模块报ImportError解决方案
May 23 Python
python网络编程学习笔记(三):socket网络服务器
Jun 09 Python
在Python下利用OpenCV来旋转图像的教程
Apr 16 Python
Python极简代码实现杨辉三角示例代码
Nov 15 Python
Python实现读取txt文件并画三维图简单代码示例
Dec 09 Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
Feb 01 Python
利用 Flask 动态展示 Pyecharts 图表数据方法小结
Sep 04 Python
解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
Mar 10 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
Mar 20 Python
Python SQLAlchemy库的使用方法
Oct 13 Python
python 如何设置守护进程
Oct 29 Python
python数字图像处理之图像的批量处理
Jun 28 Python
浅谈Python3中strip()、lstrip()、rstrip()用法详解
Apr 29 #Python
Python 实现微信防撤回功能
Apr 29 #Python
python程序控制NAO机器人行走
Apr 29 #Python
Django web框架使用url path name详解
Apr 29 #Python
Python对HTML转义字符进行反转义的实现方法
Apr 28 #Python
Django使用redis缓存服务器的实现代码示例
Apr 28 #Python
django的settings中设置中文支持的实现
Apr 28 #Python
You might like
PHP实现Soap通讯的方法
2014/11/03 PHP
php常用文件操作函数汇总
2014/11/22 PHP
PHP图形操作之Jpgraph学习笔记
2015/12/25 PHP
PHP tp5中使用原生sql查询代码实例
2020/10/28 PHP
兼容Mozilla必须知道的知识。
2007/01/09 Javascript
jQueryUI的Dialog的简单封装
2010/06/07 Javascript
jq选项卡鼠标延迟的插件实例
2013/05/13 Javascript
JS取得绝对路径的实现代码
2015/01/16 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
JQuery解析XML的方法小结
2016/04/02 Javascript
jQuery控制div实现随滚动条滚动效果
2016/06/07 Javascript
jQuery获取table行数并输出单元格内容的实现方法
2016/06/30 Javascript
Mongoose学习全面理解(推荐)
2017/01/21 Javascript
Vue中的slot使用插槽分发内容的方法
2018/03/01 Javascript
JS实现点击生成UUID的方法完整实例【基于jQuery】
2019/06/12 jQuery
axios如何利用promise无痛刷新token的实现方法
2019/08/27 Javascript
详解使用mocha对webpack打包的项目进行&quot;冒烟测试&quot;的大致流程
2020/04/27 Javascript
JS原形与原型链深入详解
2020/05/09 Javascript
详细分析Node.js 多进程
2020/06/22 Javascript
[19:15]DK战队纪录片
2014/09/02 DOTA
[01:03]DOTA2新的征程 你的脚印值得踏上
2014/08/13 DOTA
python实现的各种排序算法代码
2013/03/04 Python
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
python 遍历字符串(含汉字)实例详解
2017/04/04 Python
Python实现简单的语音识别系统
2017/12/13 Python
Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例
2019/10/12 Python
Python实现AI自动抠图实例解析
2020/03/05 Python
关于Python字符串显示u...的解决方式
2020/03/06 Python
美国创意之家:BulbHead
2017/07/12 全球购物
医生自荐信
2013/10/11 职场文书
行政助理的职责
2013/11/14 职场文书
材料员岗位职责
2014/03/13 职场文书
环境工程专业自荐信范文
2014/03/18 职场文书
数字化校园建设方案
2014/05/03 职场文书
产品发布会策划方案
2014/05/12 职场文书
2015年调度员工作总结
2015/04/30 职场文书