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 相关文章推荐
pycharm 使用心得(二)设置字体大小
Jun 05 Python
详解使用python的logging模块在stdout输出的两种方法
May 17 Python
Python使用当前时间、随机数产生一个唯一数字的方法
Sep 18 Python
Python实现的破解字符串找茬游戏算法示例
Sep 25 Python
pandas.DataFrame选取/排除特定行的方法
Jul 03 Python
使用sklearn之LabelEncoder将Label标准化的方法
Jul 11 Python
Python中的list与tuple集合区别解析
Oct 12 Python
解决Tensorflow 内存泄露问题
Feb 05 Python
python实现密度聚类(模板代码+sklearn代码)
Apr 27 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
May 03 Python
python实现时间序列自相关图(acf)、偏自相关图(pacf)教程
Jun 03 Python
python实现人工蜂群算法
Sep 18 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/12/06 PHP
PHP实现MVC开发得最简单的方法――模型
2007/04/10 PHP
PHP json格式和js json格式 js跨域调用实现代码
2012/09/08 PHP
php中的路径问题与set_include_path使用介绍
2014/02/11 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
2020/10/27 PHP
jquery 实现二级/三级/多级联动菜单的思路及代码
2013/04/08 Javascript
javascript打印输出json实例
2013/11/11 Javascript
使用typeof方法判断undefined类型
2014/09/09 Javascript
nodejs实现的一个简单聊天室功能分享
2014/12/06 NodeJs
JQuery实现左右滚动菜单特效
2015/09/28 Javascript
javascript实现简单计算器效果【推荐】
2016/04/19 Javascript
微信QQ的二维码登录原理js代码解析
2016/06/23 Javascript
AngularJS基础 ng-srcset 指令简单示例
2016/08/03 Javascript
jQuery为动态生成的select元素添加事件的方法
2016/08/29 Javascript
基于Node.js的WebSocket通信实现
2017/03/11 Javascript
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
微信小程序返回上一页传参并刷新过程解析
2019/12/13 Javascript
JavaScript设计模式--简单工厂模式实例分析【XHR工厂案例】
2020/05/23 Javascript
利用Hyperic调用Python实现进程守护
2018/01/02 Python
http请求 request失败自动重新尝试代码示例
2018/01/25 Python
Flask入门之上传文件到服务器的方法示例
2018/07/18 Python
详解Python计算机视觉 图像扭曲(仿射扭曲)
2019/03/27 Python
python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能
2019/07/04 Python
Python实现计算对象的内存大小示例
2019/07/10 Python
python随机模块random的22种函数(小结)
2020/05/15 Python
使用 django orm 写 exists 条件过滤实例
2020/05/20 Python
主要的Ajax框架都有什么
2013/11/14 面试题
个人自荐书
2013/12/20 职场文书
讲党性心得体会
2014/09/03 职场文书
个人委托书怎么写
2014/09/17 职场文书
2015年七一建党节活动方案
2015/05/05 职场文书
法定授权委托证明书
2015/06/18 职场文书
小学数学教师研修日志
2015/11/13 职场文书
创业计划书之儿童理发店
2019/09/27 职场文书
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
2021/04/13 Python
浅析Python中的随机采样和概率分布
2021/12/06 Python