当前位置: 首页 > news >正文

无锡网站制作公司排名网站开发与应用 大作业作业

无锡网站制作公司排名,网站开发与应用 大作业作业,销售型网站营销目标,html5优秀企业网站题目链接 题目链接 题目描述 地上有一个 m 行和 n列的方格#xff0c;横纵坐标范围分别是 0∼m−1 和 0∼n−1。 一个机器人从坐标 (0,0) 的格子开始移动#xff0c;每一次只能向左#xff0c;右#xff0c;上#xff0c;下四个方向移动一格。 但是不能进入行坐标和列…题目链接 题目链接 题目描述 地上有一个 m 行和 n列的方格横纵坐标范围分别是 0∼m−1 和 0∼n−1。 一个机器人从坐标 (0,0) 的格子开始移动每一次只能向左右上下四个方向移动一格。 但是不能进入行坐标和列坐标的数位之和大于 k 的格子。 请问该机器人能够达到多少个格子 注意: 0m50 0n50 0k100 样例1 输入k7, m4, n5 输出20 样例2 输入k18, m40, n40 输出1484 解释当k为18时机器人能够进入方格35,37因为3537 18。 但是它不能进入方格35,38因为3538 19。 题目考察知识点 图论 深搜or光搜 当前节点可以达到的节点为上下左右四个方向 解题代码 深搜dfs 递归实现 class Solution {// 深度优先// 在确定完是否满足条件后[先加结果然后标为已走]然后再进行dfsint result;// 可以走的方向int dir[][] {{-1,0},{1,0},{0,1},{0,-1}};public int movingCount(int threshold, int rows, int cols){// 判断临界情况也就是rows和cols都为0if(rows 0 || cols 0){return 0;}// 判断是否走过boolean[][] used new boolean[rows][cols];result 0;// 判断0,0是否符合条件if(!judge(0,0,threshold)) return 0;result ;used[0][0] true;dfs(0, 0, rows, cols, threshold, used);return result;}// 深度优先public void dfs(int inow, int jnow, int rows, int cols, int threshold, boolean[][] used){for(int i 0; i 4; i ){int inext inow dir[i][0];int jnext jnow dir[i][1];if(inext 0 inext rows jnext 0 jnext cols){// 满足条件才进行下一个dfsif(used[inext][jnext]false judge(inext, jnext, threshold)){result ;used[inext][jnext] true;dfs(inext, jnext, rows, cols, threshold, used);}}}}// 是否满足条件public boolean judge(int i, int j, int threshold){int now 0;while(i ! 0){now i % 10;i i / 10;}while(j ! 0){now j % 10;j j / 10;}// 不满足if(now threshold){return false;}else{return true;}} }注意注意 used数组是必须要有的标识一下当前哪些格子被判断过了判断临界条件 特别是哪个rows和cols都为0的情况 判断完是否符合条件再去进行dfs更容易 广搜bfs 队列实现 队列不为空的时候一直循环 符合条件的进入队列 class Solution {// 广度优先// 在确定完是否满足条件后[先加结果然后标为已走]然后再进队列int result;// 可以走的方向int dir[][] {{-1,0},{1,0},{0,1},{0,-1}};public int movingCount(int threshold, int rows, int cols){// 判断临界情况也就是rows和cols都为0if(rows 0 || cols 0){return 0;}// 判断是否走过boolean[][] used new boolean[rows][cols];result 0;bfs(rows, cols, threshold, used);return result;}// 广度优先public void bfs(int rows, int cols, int threshold, boolean[][] used){Dequeint[] deque new LinkedList();if(judge(0, 0, threshold)){deque.push(new int[]{0, 0});used[0][0] true;result ;}while(!deque.isEmpty()){int[] now deque.pop();int inow now[0];int jnow now[1];for(int i 0; i 4; i ){int inext inow dir[i][0];int jnext jnow dir[i][1];if(inext 0 inext rows jnext 0 jnext cols){// 满足条件才进入队列if(used[inext][jnext]false judge(inext, jnext, threshold)){result ;used[inext][jnext] true;deque.push(new int[]{inext, jnext});}}}}return;}// 是否满足条件public boolean judge(int i, int j, int threshold){int now 0;while(i ! 0){now i % 10;i i / 10;}while(j ! 0){now j % 10;j j / 10;}// 不满足if(now threshold){return false;}else{return true;}} }
http://www.pierceye.com/news/954401/

相关文章:

  • 晋江做网站的公司哪家好企业网站报价
  • 百度权重查询网站旅游公司的网站怎么做
  • 品牌网站建设小蝌蚪2a西安中交建设集团网站
  • 潍坊网页网站制作优畅 wordpress
  • 搜狗收录网站网站制作费用预算表
  • dede网站安全长沙营销型
  • 那些做电影视频网站的赚钱吗邯郸网站建设方案
  • 在线做app的网站wordpress 产品分类
  • seo网站建设规划网站模板视频教程
  • 沈阳网站制作策划wordpress 文章页调用
  • 网站开发和网络工程师方法网站目录
  • 用dw做网站的好处网页美工培训中心
  • 中文域名注册 .网站网站英文地图怎么做
  • 汽车行业网站建设维护服务wordpress改投票系统
  • 网站快照长期不更新wordpress 顶部高度
  • 雨颜色网站建设电器类网站设计
  • 网站建设模块化实现企业网站建设范文
  • 网站培训班有哪些课程中国工程建设标准化协会官方网站
  • 医院网站建设 费用做商业网站
  • 网站设计考虑因素wordpress录入表单写数据库
  • 个人博客网站设计网站优化方式有哪些
  • 网站建设文化教程网站开发建设成本
  • 洛阳做网站公司汉狮价格wordpress移动端悬浮导航
  • 免费网站的代码wordpress给分类添加自定义栏目
  • 网站建设额怎么自己做网站app
  • 长沙市网站推广电话兰州的互联网公司有哪些
  • 湖南网站设计亮点昆山高端网站设计公司
  • 自己做网站教程客户管理系统免费版
  • 购买域名后怎么使用山东seo
  • 单位写材料素材网站孝感建设局网站