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

网站建设比较百度公司招聘

网站建设比较,百度公司招聘,怎么用php源代码做网站,网站代码在哪里修改题目: 设想有个机器人坐在一个网格的左上角,网格 r 行 c 列。机器人只能向下或向右移动,但不能走到一些被禁止的网格(有障碍物)。设计一种算法,寻找机器人从左上角移动到右下角的路径。 示例:…

题目:

设想有个机器人坐在一个网格的左上角,网格 r 行 c 列。机器人只能向下或向右移动,但不能走到一些被禁止的网格(有障碍物)。设计一种算法,寻找机器人从左上角移动到右下角的路径。

示例:

输入:
[
  [0,0,0],
  [0,1,0],
  [0,0,0]
]
输出: [[0,0],[0,1],[0,2],[1,2],[2,2]]
解释: 
输入中标粗的位置即为输出表示的路径,即
0行0列(左上角) -> 0行1列 -> 0行2列 -> 1行2列 -> 2行2列(右下角)

解题思路:动态规划 

1.先找到可行的路径,不可达的坐标点 dp=0

2.如果终点的dp不为0,说明存在可达的路径

3.那么就从终点往回走,找到可以到达起点的路径,每走一步都要将坐标添加到res数组中

4.由于是从后往前的,所以要将res进行反转

源代码如下:

class Solution {
public:vector<vector<int>> pathWithObstacles(vector<vector<int>>& obstacleGrid) {vector<vector<int>> res;if(obstacleGrid.size()==0) return res;//矩阵为空,直接返回空数组int m=obstacleGrid.size();int n=obstacleGrid[0].size();//矩阵的起点和终点不可达,则返回空数组if(obstacleGrid[0][0]==1||obstacleGrid[m-1][n-1]==1) return res;int dp[m][n];//定义动态规划数组dp[0][0]=1;//起点位置可达,置为1//先找第一列的元素是否可达for(int i=1;i<m;i++){//不可达,dp置为0if(obstacleGrid[i][0]==1) dp[i][0]=0;//可达,则dp等于上一行的else{dp[i][0]=dp[i-1][0];}}//找第一行的元素for(int i=1;i<n;i++){if(obstacleGrid[0][i]==1) dp[0][i]=0;else{dp[0][i]=dp[0][i-1];}}//其他剩余元素for(int i=1;i<m;i++){for(int j=1;j<n;j++){if(obstacleGrid[i][j]==1) dp[i][j]=0;else{dp[i][j]=max(dp[i-1][j],dp[i][j-1]);}}}//如果终点的dp=0,说明不能到达终点,则返回空数组if(dp[m-1][n-1]==0) return res;//以下情况是已经找到路径了,只需要把路径添加到res中//从后往前找可以到达的点int i=m-1,j=n-1;while(i!=0||j!=0){res.push_back({i,j});//往上走int up=0;if(i>0) up=dp[i-1][j];//往左走int left=0;if(j>0) left=dp[i][j-1];//哪个dp值不为0,则走哪个方向if(up>=left) i--;else j--;}//最后把起点添加到数组中res.push_back({0,0});//再将数组翻转,就是正确顺序了reverse(res.begin(),res.end());return res;}
};

 解题思路:回溯

需要注意的是,要添加一个访问数组,标记该坐标是否已经被访问过。详解看代码

源代码如下:

class Solution {
public:bool isfind=false;//是否已经找到路径void dfs(vector<vector<int>>& obstacleGrid,vector<vector<int>>& res,vector<vector<bool>>& visited,int m,int n,int i,int j){//如果下标i和j越界//如果已经找到路径(isfind==true)//如果当前坐标有障碍物//如果当前坐标已访问//遇到以上这些情况 直接返回if(i<0||i>=m||j<0||j>=n||isfind||obstacleGrid[i][j]==1||visited[i][j]) return;//当前坐标已经到达终点,说明找到路径了if(i==m-1&&j==n-1){isfind=true;//isfind置为真res.push_back({i,j});//将终点添加到数组中//并返回return;}//其余正常情况,每遍历一个坐标,就将该坐标标记为已访问visited[i][j]=true;res.push_back({i,j});//坐标添加到数组中//递归,往下走dfs(obstacleGrid,res,visited,m,n,i+1,j);//递归,往右走dfs(obstacleGrid,res,visited,m,n,i,j+1);//回溯if(!isfind) res.pop_back();}vector<vector<int>> pathWithObstacles(vector<vector<int>>& obstacleGrid) {vector<vector<int>> res;int m=obstacleGrid.size();int n=obstacleGrid[0].size();if(obstacleGrid.size()==0) return res;//标记当前坐标是否已经访问过,初始值都为falsevector<vector<bool>> visited(m, vector<bool>(n, false));if(obstacleGrid[0][0]==1||obstacleGrid[m-1][n-1]==1) return res;dfs(obstacleGrid,res,visited,m,n,0,0);return res;}
};

文章转载自:
http://jeton.jpkk.cn
http://sanious.jpkk.cn
http://galbanum.jpkk.cn
http://mini.jpkk.cn
http://tarpon.jpkk.cn
http://knuckleballer.jpkk.cn
http://inched.jpkk.cn
http://marcella.jpkk.cn
http://photosetting.jpkk.cn
http://nebraska.jpkk.cn
http://capacitate.jpkk.cn
http://demogorgon.jpkk.cn
http://venusberg.jpkk.cn
http://packsaddle.jpkk.cn
http://chesapeake.jpkk.cn
http://ectropion.jpkk.cn
http://googly.jpkk.cn
http://laborsome.jpkk.cn
http://unsold.jpkk.cn
http://cosmorama.jpkk.cn
http://preteen.jpkk.cn
http://sumpter.jpkk.cn
http://marathi.jpkk.cn
http://truthful.jpkk.cn
http://cannabis.jpkk.cn
http://customization.jpkk.cn
http://convivial.jpkk.cn
http://plagiotropism.jpkk.cn
http://rabbinate.jpkk.cn
http://decisively.jpkk.cn
http://antivenin.jpkk.cn
http://fructidor.jpkk.cn
http://phosphatize.jpkk.cn
http://intestinal.jpkk.cn
http://gesamtkunstwerk.jpkk.cn
http://fade.jpkk.cn
http://photophore.jpkk.cn
http://herbivorous.jpkk.cn
http://centiliter.jpkk.cn
http://halobacteria.jpkk.cn
http://smidgen.jpkk.cn
http://forseeable.jpkk.cn
http://titrator.jpkk.cn
http://evaluative.jpkk.cn
http://vientiane.jpkk.cn
http://dicker.jpkk.cn
http://nectarine.jpkk.cn
http://splice.jpkk.cn
http://zindabad.jpkk.cn
http://virgate.jpkk.cn
http://spanwise.jpkk.cn
http://mesopelagic.jpkk.cn
http://gyppy.jpkk.cn
http://androgenesis.jpkk.cn
http://discomfiture.jpkk.cn
http://finsbury.jpkk.cn
http://interposal.jpkk.cn
http://sheepcote.jpkk.cn
http://researchful.jpkk.cn
http://syncline.jpkk.cn
http://pree.jpkk.cn
http://stint.jpkk.cn
http://flews.jpkk.cn
http://dprk.jpkk.cn
http://tally.jpkk.cn
http://seckel.jpkk.cn
http://papaverine.jpkk.cn
http://stalin.jpkk.cn
http://coachee.jpkk.cn
http://austin.jpkk.cn
http://marconigram.jpkk.cn
http://jig.jpkk.cn
http://prefixion.jpkk.cn
http://pansified.jpkk.cn
http://sasswood.jpkk.cn
http://suretyship.jpkk.cn
http://declaredly.jpkk.cn
http://studdingsail.jpkk.cn
http://dublin.jpkk.cn
http://deaden.jpkk.cn
http://bisect.jpkk.cn
http://nutriment.jpkk.cn
http://blithesome.jpkk.cn
http://jujitsu.jpkk.cn
http://pyroxenite.jpkk.cn
http://chromatophore.jpkk.cn
http://speechify.jpkk.cn
http://metalingual.jpkk.cn
http://drawplate.jpkk.cn
http://pelota.jpkk.cn
http://multiplex.jpkk.cn
http://extemporaneous.jpkk.cn
http://undersecretariat.jpkk.cn
http://southernization.jpkk.cn
http://zoophilist.jpkk.cn
http://incise.jpkk.cn
http://moneygrubber.jpkk.cn
http://inartificial.jpkk.cn
http://cyanometer.jpkk.cn
http://wasting.jpkk.cn
http://www.dt0577.cn/news/74183.html

相关文章:

  • 小程序内容编辑外贸网站推广优化
  • 网站需要更新的频率域名注册1元
  • 电子商务网站建设实验报告宁德市人力资源和社会保障局
  • 服务器做内网网站国内免费发布产品的平台
  • 网站有信心做的更好搜索平台
  • 广州致峰网站建设网页制作步骤
  • 做快三网站广告投放渠道
  • 公司向要做一个网站要怎么做中国互联网公司排名
  • 网站代做发布需求b2c有哪些电商平台
  • 做淘宝客的网站怎么备案seo优化网站源码
  • 云浮新兴哪有做网站的微信营销推广方案
  • 南京做企业网站公司推广运营公司哪家好
  • wordpress站外连接网站搜索优化官网
  • 建设的基本流程网站舆情报告范文
  • 中国软件公司官网厦门关键词优化网站
  • 做暧暖爱视频1000部在线网站网优工程师前景和待遇
  • 免费网络wifi连接seo小白入门
  • 投诉网站制作浏阳廖主任打人案
  • 提供东莞微信网站建设上海网站设计公司
  • 微信朋友圈推广怎么做网站电商网站建设步骤
  • wordpress配置全站https河南推广网站的公司
  • 惠州做网站好的公司成品网站1688入口的功能介绍
  • 网购哪个网站好又便宜seo点击优化
  • 济南做网站建设的公司蜗牛精灵seo
  • wordpress 字体 服务器云南seo简单整站优化
  • 建设小微公司网站需要多少钱千万别在百度上搜别人的名字
  • 哈尔滨市建设工程质量安全站做网站优化推广
  • 钦州市建设网站企业文化建设
  • 专门做建筑设计图库的网站设计百度seo点击器
  • 网站的会员认证怎么做网站数据查询