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使用多线程不断刷新网页的方法
Mar 31 Python
python使用xlrd模块读写Excel文件的方法
May 06 Python
Python搭建HTTP服务器和FTP服务器
Mar 09 Python
Python中函数及默认参数的定义与调用操作实例分析
Jul 25 Python
使用python Fabric动态修改远程机器hosts的方法
Oct 26 Python
Django使用redis缓存服务器的实现代码示例
Apr 28 Python
django组合搜索实现过程详解(附代码)
Aug 06 Python
pytorch 固定部分参数训练的方法
Aug 17 Python
给我一面国旗 python帮你实现
Sep 30 Python
python multiprocessing多进程变量共享与加锁的实现
Oct 02 Python
python base64库给用户名或密码加密的流程
Jan 02 Python
OpenCV4.1.0+VS2017环境配置的方法步骤
Jul 09 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
PHPLog php 程序调试追踪工具
2009/09/09 PHP
PHP7新增函数
2021/03/09 PHP
document.body.scrollTop 值总为0的解决方法 比较常见的标准问题
2009/11/30 Javascript
基于Jquery的温度计动画效果
2010/06/18 Javascript
封装好的js判断操作系统与浏览器代码分享
2015/01/09 Javascript
jQuery实现行文字链接提示效果的方法
2015/03/10 Javascript
jQuery获取标签文本内容和html内容的方法
2015/03/27 Javascript
javascript创建函数的20种方式汇总
2015/06/23 Javascript
自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
2015/12/12 Javascript
js获取隐藏元素宽高的实现方法
2016/05/19 Javascript
jQuery搜索框效果实现代码(百度关键词联想)
2021/02/25 Javascript
多种方式实现js图片预览
2016/12/12 Javascript
vue 实现边输入边搜索功能的实例讲解
2018/09/16 Javascript
详解基于Vue/React项目的移动端适配方案
2019/08/23 Javascript
vue 实现移动端键盘搜索事件监听
2019/11/06 Javascript
关于JavaScript数组去重的一些理解汇总
2020/09/10 Javascript
Vue使用Element实现增删改查+打包的步骤
2020/11/25 Vue.js
[02:36]DOTA2英雄基础教程 帕格纳
2014/01/20 DOTA
[01:33]DOTA2上海特级锦标赛 LIQUID战队完整宣传片
2016/03/16 DOTA
python根据出生年份简单计算生肖的方法
2015/03/27 Python
两个使用Python脚本操作文件的小示例分享
2015/08/27 Python
Python实现的栈(Stack)
2018/01/26 Python
详解Python安装scrapy的正确姿势
2018/06/26 Python
解决在Python编辑器pycharm中程序run正常debug错误的问题
2019/01/17 Python
Python的UTC时间转换讲解
2019/02/26 Python
Python Matplotlib 基于networkx画关系网络图
2019/07/10 Python
如何基于Python + requests实现发送HTTP请求
2020/01/13 Python
Python调用Windows命令打印文件
2020/02/07 Python
Python编写memcached启动脚本代码实例
2020/08/14 Python
使用py-spy解决scrapy卡死的问题方法
2020/09/29 Python
matplotlib之pyplot模块之标题(title()和suptitle())
2021/02/22 Python
新大陆软件面试题
2016/11/24 面试题
学生自我评价范文
2014/02/02 职场文书
九年级数学教学反思
2016/02/17 职场文书
导游词之铁岭象牙山
2019/12/06 职场文书
Nginx配置80端口访问8080及项目名地址方法解析
2021/03/31 Servers