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中time()方法的使用的教程
May 22 Python
详谈Pandas中iloc和loc以及ix的区别
Jun 08 Python
Random 在 Python 中的使用方法
Aug 09 Python
Python线程同步的实现代码
Oct 03 Python
python3学生名片管理v2.0版
Nov 29 Python
Python循环中else,break和continue的用法实例详解
Jul 11 Python
解决python 文本过滤和清理问题
Aug 28 Python
Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】
Oct 30 Python
python内打印变量之%和f的实例
Feb 19 Python
opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
Jun 02 Python
Python面向对象实现方法总结
Aug 12 Python
Python多个MP4合成视频的实现方法
Jul 16 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
Discuz 6.0+ 批量注册用户名
2009/09/13 PHP
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
php随机显示图片的简单示例
2014/02/15 PHP
PHP中使用sleep函数实现定时任务实例分享
2014/08/21 PHP
php中session定期自动清理的方法
2015/11/12 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
JavaScript 撑出页面文字换行
2009/06/15 Javascript
JS 巧妙获取剪贴板数据 Excel数据的粘贴
2009/07/09 Javascript
js点击页面其它地方将某个显示的DIV隐藏
2012/07/12 Javascript
firefox下jquery iframe刷新页面提示会导致重复之前动作
2012/12/17 Javascript
jquery乱码与contentType属性设置问题解决方案
2013/01/07 Javascript
Javascript模块化编程(一)模块的写法最佳实践
2013/01/17 Javascript
hover的用法及live的用法介绍(鼠标悬停效果)
2013/03/29 Javascript
热点新闻滚动特效的js代码
2013/08/17 Javascript
JS Replace 全部替换字符的用法小结
2013/12/24 Javascript
node.js中的fs.linkSync方法使用说明
2014/12/15 Javascript
使用JQuery FancyBox插件实现图片展示特效
2015/11/16 Javascript
基于Bootstrap3表格插件和分页插件实例详解
2016/05/17 Javascript
Vue.js动态组件解析
2016/09/09 Javascript
原生js实现放大镜效果
2017/01/11 Javascript
深入浅析JSONAPI在PHP中的应用
2017/12/24 Javascript
python3+PyQt5自定义视图详解
2018/04/24 Python
spark: RDD与DataFrame之间的相互转换方法
2018/06/07 Python
pandas带有重复索引操作方法
2018/06/08 Python
Anaconda2 5.2.0安装使用图文教程
2018/09/19 Python
Python集成开发工具Pycharm的安装和使用详解
2020/03/18 Python
Pycharm连接远程服务器过程图解
2020/04/30 Python
白兰氏健康Mall:BRAND’S
2017/11/13 全球购物
Martinelli官方商店:西班牙皮鞋和高跟鞋品牌
2019/07/30 全球购物
Lentiamo比利时:便宜的隐形眼镜
2020/02/14 全球购物
企划经理的岗位职责
2013/11/17 职场文书
《冬阳童年骆驼队》教学反思
2014/04/15 职场文书
不服劳动仲裁起诉书
2015/05/20 职场文书
写作之关于描写老人的好段摘抄
2019/11/14 职场文书
React forwardRef的使用方法及注意点
2021/06/13 Javascript
JS实现简单的九宫格抽奖
2022/06/28 Javascript