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

推广产品网站建设哪些网站做电商比较好

推广产品网站建设,哪些网站做电商比较好,个人怎么做百度竞价,网站建设文化包括哪些这道题花了我好长的时间,本来测试用例都过了,结果后面的输入样例超时了,无语。然后去看了下灵神的题解,感觉我的思路和他未优化过的版本思路是一样的,但是他的不会超时,我的会超时。先说说思路,…


这道题花了我好长的时间,本来测试用例都过了,结果后面的输入样例超时了,无语。然后去看了下灵神的题解,感觉我的思路和他未优化过的版本思路是一样的,但是他的不会超时,我的会超时。先说说思路,这道题还是定义一个dfs()函数,输入参数有linecolumni,分别代表当前访问的元素所在的行数、列数,和当前正在处理第i位数字。若当前位置已经被访问过或者当前位置上的字符与word[i]不相等,则直接返回false,若当前位置的字符未被访问过,并与word[i]相等,且长度也已经达标了,匹配成功,返回true。如果上述情况都不满足,则说明还需要进一步探索。我们首先将(line, column)处标记为已访问,然后依次向四个方向遍历,并递归调用dfs()函数,如果下一地点的位置未超出索引且递归调用返回的结果为true,则说明已经找到一条符合要求的路径,直接返回true,如果遍历了四个方向都没有找到路径则说明这条路行不通,返回false。在主函数中,我们遍历每一个位置,并以之为起点,调用dfs(),一旦出现返回true的情况就立马返回true,循环如果顺利结束则说明整个地图都找不出合法的路径,返回false。下面是我的超时代码。

class Solution {
public:bool exist(vector<vector<char>>& board, string word) {bool result = false;string path;int m = board.size();   //m行int n = board[0].size();  //n列vector<vector<bool>> is_visit(m, vector<bool>(n, false));vector<vector<int>> dirs = {{0, 1},   //右{0, -1},  //左{1, 0},   //下{-1, 0}   //上};//处理第i位上的字符,当前探索到(line, column)的位置auto bfs = [&](this auto&& bfs, int line, int column, int i){//递归终止条件if(i == word.size()){if(path == word)result = true;return ;}//判断是否超出边界if(line < 0 || line >= m || column < 0 || column >= n)return ;    //超出边界,直接返回//递归主体逻辑if(!is_visit[line][column] && board[line][column] == word[i]){//当前位置的字符匹配上了,且未使用过path += board[line][column];is_visit[line][column] = true;//向四周探索for(auto dir : dirs){int next_line = line + dir[0];int next_column = column + dir[1];bfs(next_line, next_column, i + 1);}//回溯path.pop_back();is_visit[line][column] = false;}};for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){bfs(i, j, 0);if(result) return result;}  }return result;}
};

上述代码超时的原因是合法的路径可能有多个,我们只需要找到一条就行,因此在向四周探索的时候,按照代码的逻辑,尽管已经找到了一条合法的路径,但是代码还是会继续向其他方向搜索,这就会导致超时,因此我们需要在找到路径时及时终止搜索。此外,在遍历四个方向时,一定要用引用的方式,否则赋值拷贝的过程也会增加耗时,最终导致超时。以下是经过小优化后的代码(不是最优,还可以进一步剪枝,详见灵神题解)

class Solution {
public:bool exist(vector<vector<char>>& board, string word) {int m = board.size();   //m行int n = board[0].size();  //n列vector<vector<bool>> is_visit(m, vector<bool>(n, false));  //用于标记是否访问过vector<vector<int>> dirs = {{0, 1},   //右{0, -1},  //左{1, 0},   //下{-1, 0}   //上};//处理第i位上的字符,当前探索到(line, column)的位置auto dfs = [&](this auto&& dfs, int line, int column, int i) -> bool{/**********递归终止条件**********///1.当前位置已经被访问过或当前位置上的字符与word[i]不相等,匹配失败if(is_visit[line][column] || board[line][column] != word[i])   return false;//2.当前位置的字符未被访问过,并与word[i]相等,且长度也已经达标了,匹配成功if(i + 1 == word.size())   return true;/**********递归主体逻辑**********///当前位置的字符匹配上了,且未使用过is_visit[line][column] = true;   //标记为已访问//向四周探索for(auto& dir : dirs){  //这里必须用引用,要不然会超时int next_line = line + dir[0];int next_column = column + dir[1];if((next_line >= 0 && next_line < m) && (next_column >= 0 && next_column < n)&&  dfs(next_line, next_column, i + 1))return true;}//回溯is_visit[line][column] = false;return false;};for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){if(dfs(i, j, 0))   //搜到了return true;}  }return false;}
};

文章转载自:

http://tneyHTX9.wpqwk.cn
http://rNrHwkCP.wpqwk.cn
http://vwVsFIQf.wpqwk.cn
http://mHQOJGYJ.wpqwk.cn
http://IViZ2uIj.wpqwk.cn
http://jJEPMnXp.wpqwk.cn
http://s4hJEgc2.wpqwk.cn
http://eQBomVNf.wpqwk.cn
http://eLuWyk3D.wpqwk.cn
http://T3VomCeW.wpqwk.cn
http://D8clMga3.wpqwk.cn
http://BkXs69qc.wpqwk.cn
http://5kbY6QPw.wpqwk.cn
http://4nJ4YhuD.wpqwk.cn
http://ZBgeRtlv.wpqwk.cn
http://Fr0wjohX.wpqwk.cn
http://8pOEgxqK.wpqwk.cn
http://nOtJyrDu.wpqwk.cn
http://qefCxSIS.wpqwk.cn
http://C1TIrv7Q.wpqwk.cn
http://9pGwuTbU.wpqwk.cn
http://CE1uVQM5.wpqwk.cn
http://IYMYnTys.wpqwk.cn
http://xzVE5wAt.wpqwk.cn
http://R3AjpRGs.wpqwk.cn
http://6qf3aETV.wpqwk.cn
http://Ws8tytFg.wpqwk.cn
http://3jiMms4M.wpqwk.cn
http://TBAf7i2M.wpqwk.cn
http://7Zidumqo.wpqwk.cn
http://www.dtcms.com/wzjs/654787.html

相关文章:

  • 给别人做网站用做假酒验证wordpress 编辑自己代码
  • 网站优化 情况中国工厂网
  • 有域名怎么建网站wordpress设置会员下载
  • 吉大建设工程学院官方网站友情链接检测结果
  • 动易学校网站管理系统 漏洞新媒体运营论文
  • 网站还没有做可以备案吧app开发费用标准
  • 网站的备案号在哪北京王府井房价多少钱一平
  • 企业官网属于什么网站今天重大新闻事件
  • 微餐饮网站建设平台如何制作一个优秀网站建设
  • 网站浏览器图标怎么做社区网站建设策划方案
  • 一个网站做数据分析要多少钱专业网站建设新闻
  • 在vs做的项目怎么连接到网站上海最新发布最新
  • 黄金网站app视频网站建设平台赚钱
  • asp网站浏览器兼容个人网站例子
  • 提供服务的网站网站开发中效率较高的编程语言
  • 下载爱南宁官方网站用python做 网站论坛
  • 常州网络推广网站wordpress用七牛
  • 市建设局网站的综合业务管理平台电商物流建设网站过程
  • 网站建设案例公司推广引流最快的方法
  • 网站开发处理大量用户请求企业网站运营外包费用
  • 个人网站设计文字内容模板做装修的网站有哪些内容
  • 厦门建站程序网络营销模式有哪些
  • 网站建设需求什么功能2022年企业所得税政策
  • 诀窍的网站云南网站建设专业品牌
  • 自己电脑做网站还用备案软件技术服务包括哪些内容
  • 大一网站开发项目答辩wordpress文章分类链接
  • 300元建站河北建设工程信息网一体化平台
  • 如何自己做企业网站大学生网页设计作业代码
  • 长沙网站建设有限公司钢材网站建设
  • 男女做爰全过程的视频网站宽带