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中使用第三方模块的教程
Apr 27 Python
python+opencv实现的简单人脸识别代码示例
Nov 14 Python
Python解析命令行读取参数--argparse模块使用方法
Jan 23 Python
Python完成毫秒级抢淘宝大单功能
Jun 06 Python
Python GUI学习之登录系统界面篇
Aug 21 Python
python验证码图片处理(二值化)
Nov 01 Python
python第三方库学习笔记
Feb 07 Python
Python打印特殊符号及对应编码解析
May 07 Python
PyQt5-QDateEdit的简单使用操作
Jul 12 Python
如何使用Django Admin管理后台导入CSV
Nov 06 Python
Python约瑟夫生者死者小游戏实例讲解
Jan 04 Python
python实现双向链表原理
May 25 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
如何开发一个虚拟域名系统
2006/10/09 PHP
php中3des加密代码(完全与.net中的兼容)
2012/08/02 PHP
PHP中array_merge和array相加的区别分析
2013/06/17 PHP
PHP类中的魔术方法(Magic Method)简明总结
2014/07/08 PHP
php判断文件上传类型及过滤不安全数据的方法
2014/12/17 PHP
Yii CDBCriteria常用方法实例小结
2017/01/19 PHP
jQuery $.each的用法说明
2010/03/22 Javascript
javascript 数组学习资料收集
2010/04/11 Javascript
Javascript中定义方法的另类写法(批量定义js对象的方法)
2011/02/25 Javascript
通过js来制作复选框的全选和不选效果
2014/05/22 Javascript
js实现透明度渐变效果的方法
2015/04/10 Javascript
javascript 使用for循环时该注意的问题-附问题总结
2015/08/19 Javascript
js钢琴按钮波浪式图片排列效果代码分享
2015/08/26 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
2016/02/22 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
2016/06/09 Javascript
再谈Javascript中的基本类型和引用类型(推荐)
2016/07/01 Javascript
用jQuery.ajaxSetup实现对请求和响应数据的过滤
2016/12/20 Javascript
js通过keyCode值判断单击键盘上某个键,然后触发指定的事件方法
2017/02/19 Javascript
详解使用Vue Router导航钩子与Vuex来实现后退状态保存
2017/09/11 Javascript
原生javascript实现文件异步上传的实例讲解
2017/10/26 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(下)
2018/04/18 Javascript
傻瓜式解读koa中间件处理模块koa-compose的使用
2018/10/30 Javascript
Vue.js 事件修饰符的使用教程
2018/11/01 Javascript
json解析大全 双引号、键值对不在一起的情况
2019/12/06 Javascript
JS表格的动态操作完整示例
2020/01/13 Javascript
python函数局部变量用法实例分析
2015/08/04 Python
Python无损音乐搜索引擎实现代码
2018/02/02 Python
Python3实现取图片中特定的像素替换指定的颜色示例
2019/01/24 Python
利用Python半自动化生成Nessus报告的方法
2019/03/19 Python
python dataframe NaN处理方式
2019/12/26 Python
canvas绘制表情包的示例代码
2018/07/09 HTML / CSS
美国儿童运动鞋和服装零售商:Kids Foot Locker
2017/08/05 全球购物
幼儿园英语教学反思
2014/01/30 职场文书
计算机维护专业推荐信
2014/02/27 职场文书
2015年体检中心工作总结
2015/05/27 职场文书
MYSQL中文乱码问题的解决方案
2022/06/14 MySQL