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用户的方法
Nov 15 Python
python调用短信猫控件实现发短信功能实例
Jul 04 Python
用python代码做configure文件
Jul 20 Python
Python的Twisted框架上手前所必须了解的异步编程思想
May 25 Python
python操作 hbase 数据的方法
Dec 18 Python
python判断数字是否是超级素数幂
Sep 27 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
Dec 13 Python
详解用Python练习画个美队盾牌
Mar 23 Python
浅析PEP570新语法: 只接受位置参数
Oct 15 Python
Python二元算术运算常用方法解析
Sep 15 Python
Python3使用tesserocr识别字母数字验证码的实现
Jan 29 Python
Python 的演示平台支持 WSGI 接口的应用
Apr 20 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
fleaphp crud操作之find函数的使用方法
2011/04/23 PHP
深入Nginx + PHP 缓存详解
2013/07/11 PHP
Yii中的relations数据关联查询及统计功能用法详解
2016/07/14 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
JavaScript 实现??打印?理
2007/04/28 Javascript
VBS通过WMI监视注册表变动的代码
2011/10/27 Javascript
在jQuery ajax中按钮button和submit的区别分析
2012/10/07 Javascript
JavaScript实现找出字符串中第一个不重复的字符
2014/09/03 Javascript
解决Jquery向页面append新元素之后事件的绑定问题
2015/03/16 Javascript
JS实现的鼠标跟随代码(卡通手型点击效果)
2015/10/26 Javascript
Javascript数组Array基础介绍
2016/03/13 Javascript
IE8兼容Jquery.validate.js的问题
2016/12/01 Javascript
jQuery实现页面顶部下拉广告
2016/12/30 Javascript
canvas绘制七巧板
2017/02/03 Javascript
jQuery实现可编辑表格并生成json结果(实例代码)
2017/07/19 jQuery
集合Bootstrap自定义confirm提示效果
2017/09/19 Javascript
JQuery使用属性addClass、removeClass和toggleClass实现增加和删除类操作示例
2019/11/18 jQuery
Vue.js中Line第三方登录api的实现代码
2020/06/29 Javascript
python获得两个数组交集、并集、差集的方法
2015/03/27 Python
Python读csv文件去掉一列后再写入新的文件实例
2017/12/28 Python
Django + Uwsgi + Nginx 实现生产环境部署的方法
2018/06/20 Python
win7下python3.6安装配置方法图文教程
2018/07/31 Python
win7 x64系统中安装Scrapy的方法
2018/11/18 Python
python内存动态分配过程详解
2019/07/15 Python
numpy按列连接两个维数不同的数组方式
2019/12/06 Python
Pytorch 的损失函数Loss function使用详解
2020/01/02 Python
TensorFlow学习之分布式的TensorFlow运行环境
2020/02/05 Python
Django 实现对已存在的model进行更改
2020/03/28 Python
Win10下配置tensorflow-gpu的详细教程(无VS2015/2017)
2020/07/14 Python
给同学的道歉信
2014/01/16 职场文书
行政内勤岗位职责
2014/04/07 职场文书
投资合作协议书
2014/04/17 职场文书
房屋财产继承协议书范本
2014/11/03 职场文书
先进党支部申报材料
2014/12/24 职场文书
2016年世界艾滋病日宣传活动总结
2016/04/01 职场文书
python 学习GCN图卷积神经网络
2022/05/11 Python