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 相关文章推荐
通过mod_python配置运行在Apache上的Django框架
Jul 22 Python
python 获取字符串MD5值方法
May 29 Python
Python实现带参数的用户验证功能装饰器示例
Dec 14 Python
机器学习实战之knn算法pandas
Jun 22 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
Aug 30 Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
Jan 18 Python
python实现字符串和数字拼接
Mar 02 Python
Python开发企业微信机器人每天定时发消息实例
Mar 17 Python
jupyter notebook插入本地图片的实现
Apr 13 Python
Python 微信公众号文章爬取的示例代码
Nov 30 Python
Python实现批量自动整理文件
Mar 16 Python
Python查找算法的实现 (线性、二分,分块、插值查找算法)
Apr 24 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判断字符以及字符串的包含方法属性
2008/08/30 PHP
10个实用的PHP代码片段
2011/09/02 PHP
新浪微博API开发简介之用户授权(PHP基础篇)
2011/09/25 PHP
php中批量修改文件后缀名的函数代码
2011/10/23 PHP
destoon之一键登录设置
2014/06/21 PHP
php.ini save_handler 修改不生效的解决办法
2014/07/22 PHP
YII框架页面缓存操作示例
2019/04/29 PHP
PHP的imageTtfText()函数深入详解
2021/03/03 PHP
JavaScript CSS菜单功能 改进版
2008/12/20 Javascript
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
2010/04/27 Javascript
JavaScript去除空格的三种方法(正则/传参函数/trim)
2013/02/06 Javascript
Jquery刷新页面背景图片随机变换的实现方法
2013/03/15 Javascript
JavaScript中合并数组的N种方法
2014/09/16 Javascript
详解Javacript和AngularJS中的Promises
2016/02/09 Javascript
JS全局变量和局部变量最新解析
2016/06/24 Javascript
在Docker快速部署Node.js应用的详细步骤
2016/09/02 Javascript
详解webpack之scss和postcss-loader的配置
2018/01/09 Javascript
基于jquery实现左右上下移动效果
2018/05/02 jQuery
小程序图片长按识别功能的实现方法
2018/08/30 Javascript
Vue利用History记录上一页面的数据方法实例
2018/11/02 Javascript
Vue性能优化的方法
2020/07/30 Javascript
Python中for循环和while循环的基本使用方法
2015/08/21 Python
Python 记录日志的灵活性和可配置性介绍
2018/02/27 Python
Python利用pandas计算多个CSV文件数据值的实例
2018/04/19 Python
完美解决Python 2.7不能正常使用pip install的问题
2018/06/12 Python
Python绘制正余弦函数图像的方法
2018/08/28 Python
使用python制作游戏下载进度条的代码(程序说明见注释)
2019/10/24 Python
中国第一家杂志折扣订阅网:杂志铺
2016/08/30 全球购物
FC-Moto美国:欧洲最大的摩托车服装和头盔商店之一
2019/08/24 全球购物
POS解决方案:MUNBYN(热敏打印机、条形码扫描仪)
2020/06/09 全球购物
《风娃娃》教学反思
2014/04/19 职场文书
道德演讲稿
2014/05/21 职场文书
大学生联谊活动策划书(光棍节)
2014/10/10 职场文书
人代会简报
2015/07/21 职场文书
关于教师节的广播稿
2015/08/19 职场文书
2016年学校“3.12”植树节活动总结
2016/03/16 职场文书