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发送邮件附件以定时备份MySQL的教程
Apr 25 Python
python网络编程调用recv函数完整接收数据的三种方法
Mar 31 Python
Python使用flask框架操作sqlite3的两种方式
Jan 31 Python
Python 将pdf转成图片的方法
Apr 23 Python
python 顺时针打印矩阵的超简洁代码
Nov 14 Python
python感知机实现代码
Jan 18 Python
Python计算一个点到所有点的欧式距离实现方法
Jul 04 Python
Python3 中作为一等对象的函数解析
Dec 11 Python
python继承threading.Thread实现有返回值的子类实例
May 02 Python
详解Python高阶函数
Aug 15 Python
Python+OpenCV图像处理—— 色彩空间转换
Oct 22 Python
Python在后台自动解压各种压缩文件的实现方法
Nov 10 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
无线电广播与收音机发展的历史回眸
2021/03/02 无线电
PHP mkdir()定义和用法
2009/01/14 PHP
php删除与复制文件夹及其文件夹下所有文件的实现代码
2013/01/23 PHP
PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
2013/04/08 PHP
Thinkphp中的curd应用实用要点
2015/01/04 PHP
PHP中Http协议post请求参数
2015/11/02 PHP
PHP入门教程之上传文件实例详解
2016/09/11 PHP
php swoft框架实例用法
2020/12/22 PHP
摘自启点的main.js
2008/04/20 Javascript
javascript html 静态页面传参数
2009/04/10 Javascript
Javascript中产生固定结果的函数优化技巧
2013/01/16 Javascript
原生JS可拖动弹窗效果实例代码
2013/11/09 Javascript
jQuery实现高亮显示的方法
2015/03/10 Javascript
Jquery实现仿京东商城省市联动菜单
2015/11/19 Javascript
react-redux中connect()方法详细解析
2017/05/27 Javascript
JS实现商品筛选功能
2020/08/19 Javascript
Angular中响应式表单的三种更新值方法详析
2017/08/22 Javascript
JS点击图片弹出文件选择框并覆盖原图功能的实现代码
2017/08/25 Javascript
vue.js与后台数据交互的实例讲解
2018/08/08 Javascript
vue-cli 2.*中导入公共less文件的方法步骤
2018/11/22 Javascript
JavaScript this在函数中的指向及实例详解
2019/10/14 Javascript
JavaScript(js)处理的HTML事件、键盘事件、鼠标事件简单示例
2019/11/19 Javascript
基于Element封装一个表格组件tableList的使用方法
2020/06/29 Javascript
[48:53]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第一场
2014/05/26 DOTA
Python遍历zip文件输出名称时出现乱码问题的解决方法
2015/04/08 Python
python通过ftplib登录到ftp服务器的方法
2015/05/08 Python
Python实现TCP/IP协议下的端口转发及重定向示例
2016/06/14 Python
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
2019/05/30 Python
python3实现带多张图片、附件的邮件发送
2019/08/10 Python
django-crontab 定时执行任务方法的实现
2019/09/06 Python
css3翻牌翻数字的示例代码
2020/02/07 HTML / CSS
StubHub德国:购买和出售门票
2017/09/06 全球购物
大学生学习新党章思想汇报
2014/10/25 职场文书
酒店员工辞职信范文
2015/02/28 职场文书
毕业生就业推荐表自我鉴定
2019/06/20 职场文书
2019年学校消防安全责任书(2篇)
2019/10/09 职场文书