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

珠海网站建设建站模板官方你网站建设策略

珠海网站建设建站模板,官方你网站建设策略,网站建设方案书模板,长春网站建设价格面试题13. 机器人的运动范围 难度:middle\color{orange}{middle}middle 题目描述 地上有一个 mmm 行 nnn 列的方格,从坐标 [0,0][0,0][0,0] 到坐标 [m−1,n−1][m-1,n-1][m−1,n−1] 。一个机器人从坐标 [0,0][0, 0][0,0] 的格子开始移动,它…

面试题13. 机器人的运动范围

难度:middle\color{orange}{middle}middle


题目描述

地上有一个 mmmnnn 列的方格,从坐标 [0,0][0,0][0,0] 到坐标 [m−1,n−1][m-1,n-1][m1,n1] 。一个机器人从坐标 [0,0][0, 0][0,0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于 kkk 的格子。例如,当 kkk18 时,机器人能够进入方格 [35, 37] ,因为 3+5+3+7=18 。但它不能进入方格 [35, 38],因为 3+5+3+8=19。请问该机器人能够到达多少个格子?

示例 1:

输入:m = 2, n = 3, k = 1
输出:3

示例 2:

输入:m = 3, n = 1, k = 0
输出:1

提示:

  • 1<=n,m<=1001 <= n,m <= 1001<=n,m<=100
  • 0<=k<=200 <= k <= 200<=k<=20

算法

(BFS)

这是一个典型的宽度优先搜索问题,我们从 (0, 0) 点开始,每次朝上下左右四个方向扩展新的节点即可。

扩展时需要注意新的节点需要满足如下条件:

  • 之前没有遍历过,这个可以用一个 bool 数组来判断;
  • 没有走出边界;
  • 横纵坐标的各位数字之和小于 k

最后答案就是所有遍历过的合法的节点个数。

复杂度分析

  • 时间复杂度:每个节点最多只会入队一次,所以时间复杂度不会超过方格中的节点个数。最坏情况下会遍历方格中的所有点,所以时间复杂度就是 O(nm)O(nm)O(nm)

  • 空间复杂度 : O(n)O(n)O(n)

C++ 代码

class Solution {
public:// 求单个数字的各个位数之和int get_single_num(int x) {int s = 0;while (x) {s += x % 10;x /= 10;}return s;}//求一个方格的坐标位数之和int get_sum(pair<int, int> p) {return get_single_num(p.first) + get_single_num(p.second);}int movingCount(int m, int n, int k) {//m 行 n 列 threshhold -> kif (!k) return 1;if (!m || !n) return 0;int res = 0;vector<vector<bool>> st(m, vector<bool>(n));queue<pair<int, int>> q;q.push({0, 0});int dx[4] = {-1, 0, 1, 0}, dy[4] = {0, 1, 0, -1};while (q.size()) {auto t = q.front();q.pop();if (get_sum(t) > k || st[t.first][t.second]) continue;res ++;st[t.first][t.second] = true;for (int i = 0; i < 4; i ++) {int x = t.first + dx[i], y = t.second + dy[i];if (x >= 0 && x < m && y >= 0 && y < n)q.push({x, y});}}return res;}
};

http://www.yayakq.cn/news/874130/

相关文章:

  • 深圳招聘网站前十排名永久免费的ip代理
  • 公司网站建设厂家电子商务网站建设 市场分析
  • 建设项目试运行备案申请网站天津 网站制作
  • 公司网站上线流程门户网站建设情况说明
  • 营销型 网站开发上海做网站的公
  • 网站建设的职业叫什么九江网站开发
  • 网站重要性小程序开发公司哪家
  • 4a网站建设公司百度网盘资源链接入口
  • 网站开发 组织架构短网址压缩
  • 网站搭建教程零基础北京哪家做网站和网络推广好的
  • 怎样把自己做的网站发布内网访问wordpress很慢
  • zencart网站注册是哪个文件uc极速版福利一天能赚多少钱
  • 做网站的服务器多少钱asp.net 网站安装
  • 免费做网站的方法做网站如何自动采集图片
  • 单位建设的网站属于无形资产吗php网站开发视频教程下载
  • 网站建设属于软件开发吗北京建筑工程有限公司
  • 网站建设要花在哪些项目上如何申请网站域名
  • 网站文章多久才收录苏州专业做网站的公司
  • 网站建设收费标准好么东莞人才网招聘
  • 天天爱天天做网站上海电商app开发
  • app介绍模板百度seo优化规则
  • 个人建 行业 网站哪个网站可以找做软件兼职的
  • 什么电商平台免费开店广州品牌seo网站推广
  • 公司网站制作深圳微信怎么导入wordpress
  • 西宁网站seo价格哈尔滨最大的互联网公司
  • 扁平化设计个人网站设计制作一个保温杯
  • 介绍湛江网站老板办公室装修效果图
  • 网站开发公司资质宁夏城乡和住房建设厅网站
  • 网站开发后台前端数据库博爱网站建设
  • 奉贤建设机械网站制作做任务赚话费的网站