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程序员开发中常犯的10个错误
Jul 07 Python
初步理解Python进程的信号通讯
Apr 09 Python
python中defaultdict的用法详解
Jun 07 Python
python编程通过蒙特卡洛法计算定积分详解
Dec 13 Python
Django使用Mysql数据库已经存在的数据表方法
May 27 Python
Python : turtle色彩控制实例详解
Jan 19 Python
Django框架models使用group by详解
Mar 11 Python
pandas参数设置的实用小技巧
Aug 23 Python
Python3实现英文字母转换哥特式字体实例代码
Sep 01 Python
解决PyCharm IDE环境下,执行unittest不生成测试报告的问题
Sep 03 Python
Python通过队列来实现进程间通信的示例
Oct 14 Python
python 实现性别识别
Nov 21 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
建立动态的WML站点(一)
2006/10/09 PHP
简单示例AJAX结合PHP代码实现登录效果代码
2008/07/25 PHP
php使用反射插入对象示例分享
2014/03/11 PHP
Thinkphp调用Image类生成缩略图的方法
2015/03/07 PHP
ThinkPHP和UCenter接口冲突的解决方法
2016/07/25 PHP
Laravel利用gulp如何构建前端资源详解
2018/06/03 PHP
thinkphp5使用无限极分类
2019/02/18 PHP
jQuery实现简单网页遮罩层/弹出层效果兼容IE6、IE7
2014/06/16 Javascript
jQuery实现的图片分组切换焦点图插件
2015/01/06 Javascript
基于Bootstrap使用jQuery实现简单可编辑表格
2016/05/04 Javascript
JS采用绝对定位实现回到顶部效果完整实例
2016/06/20 Javascript
jQuery基于ID调用指定iframe页面内的方法
2016/07/06 Javascript
jQuery如何跳转到另一个网页 就这么简单
2016/12/28 Javascript
jQuery实现的背景颜色渐变动画效果示例
2017/03/24 jQuery
Bootstrap按钮组实例详解
2017/07/03 Javascript
JS使用对象的defineProperty进行变量监控操作示例
2019/02/02 Javascript
js+html实现点名系统功能
2019/11/05 Javascript
JavaScript原型继承和原型链原理详解
2020/02/04 Javascript
JavaScript实现简单验证码
2020/08/24 Javascript
理解JavaScript中的对象
2020/08/25 Javascript
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
Python3基础之条件与循环控制实例解析
2014/08/13 Python
python smtplib模块发送SSL/TLS安全邮件实例
2015/04/08 Python
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
2018/03/19 Python
python爬虫获取百度首页内容教学
2018/12/23 Python
matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)
2021/01/05 Python
Python制作运行进度条的实现效果(代码运行不无聊)
2021/02/24 Python
美国礼品卡商城: Gift Card Mall
2017/08/25 全球购物
Monnier Freres中文官网:法国领先的奢侈品配饰在线零售商
2017/11/01 全球购物
英国在线自行车店:Merlin Cycles
2018/08/20 全球购物
个人求职简历中英文自我评价
2013/12/16 职场文书
商场活动策划方案
2014/01/24 职场文书
质检员工作总结2015
2015/04/25 职场文书
SQL实现LeetCode(180.连续的数字)
2021/08/04 MySQL
SpringBoot整合阿里云视频点播的过程详解
2021/12/06 Java/Android
什么是css原子化,有什么用?
2022/04/24 HTML / CSS