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

老薛主机做电影网站微商软文推广平台

老薛主机做电影网站,微商软文推广平台,网站推广策划思路是什么,wordpress nav_menu题目链接 题目链接 题目描述 地上有一个 m 行和 n列的方格,横纵坐标范围分别是 0∼m−1 和 0∼n−1。 一个机器人从坐标 (0,0) 的格子开始移动,每一次只能向左,右,上,下四个方向移动一格。 但是不能进入行坐标和列…

题目链接

题目链接

题目描述

地上有一个 m 行和 n列的方格,横纵坐标范围分别是 0∼m−1 和 0∼n−1。

一个机器人从坐标 (0,0) 的格子开始移动,每一次只能向左,右,上,下四个方向移动一格。

但是不能进入行坐标和列坐标的数位之和大于 k 的格子。

请问该机器人能够达到多少个格子?

注意:
0<=m<=50
0<=n<=50
0<=k<=100

样例1 输入:k=7, m=4, n=5 输出:20

样例2 输入:k=18, m=40, n=40 输出:1484

解释:当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。
但是,它不能进入方格(35,38),因为3+5+3+8 = 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){Deque<int[]> 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.hengruixuexiao.com/news/39447.html

相关文章:

  • 做网站一般需要多久百度官网app下载安装
  • 网站制作费一般多少怎么关键词优化网站
  • 手机网站模板 html5 下载工具读书网站排名
  • 怎么做自己的优惠淘网站南宁网站公司
  • 做php网站需要什么软件2023疫情最新情况
  • 动态网站开发是什么书友情链接检测659292
  • 建设部或国土资源管理局的网站谷歌商店paypal官网下载
  • 求可以做问卷测试的网站进行优化
  • 现在网站开发技术有哪些网店营销推广
  • 成都打鱼网站建设制作网页多少钱
  • 网站后台服务器内部错误石家庄百度seo排名
  • 金华职院优质校建设网站友情链接的形式
  • 网站域名怎么注册老铁外链工具
  • 南昌哪里做网站比较好广告公司业务推广
  • 做自媒体网站开发软文广告成功案例
  • 加强网站建设与管理的通知单页面网站如何优化
  • 投票网站怎么制作seo提供服务
  • 什么是php网站开发如何做好网络营销推广
  • 罗湖网站的建设怎样上百度做广告
  • 做网站需要多少费用专业网站优化推广
  • 燕郊网站建设网盘搜索引擎入口
  • 网站建设需求书专业做网站设计
  • 怎样在凡科免费做网站百度推广怎么登录
  • 南山网站制作游戏推广代理平台
  • 土建工程承包施工队南宁哪里有seo推广厂家
  • 免费舆情网站下载大全最新版市场营销是做什么的
  • 淘宝上网站建设为啥这么便宜百度seo建议
  • 100件智能创意产品设计seo网站推广价格
  • 企业logo设计免费抖音搜索seo排名优化
  • 有没有人一起做网站ip域名查询网