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

购买型网站建设电商网站开发环境

购买型网站建设,电商网站开发环境,有没有免费的网站,网站建设实施计划包括哪些方面刷题记录 *110. 字符串接龙105. 有向图的完全可达性邻接矩阵邻接表 106. 岛屿的周长深搜简化代码 *110. 字符串接龙 题目地址 使用广搜。 本题相当于求最短路径#xff0c;因此使用广搜。如何应用广搜是一个难点#xff0c;因为题目给的是字符串而非图的表示#xff08;邻… 刷题记录 *110. 字符串接龙105. 有向图的完全可达性邻接矩阵邻接表 106. 岛屿的周长深搜简化代码 *110. 字符串接龙 题目地址 使用广搜。 本题相当于求最短路径因此使用广搜。如何应用广搜是一个难点因为题目给的是字符串而非图的表示邻接矩阵、邻接表因此需要自行构建连接关系。 题目要求每一步只能修改一个字符因此从起始字符串开始对字符串中的每一个字符进行修改修改后在输入的字符串列表中查找是否存在若存在则放入队列中用于广搜同时记录步数1。若修改后的字符串等于结束字符则直接输出当前步数1. 使用广搜时搜索的每一圈内的字符串所记录的步数是一致的。 时间复杂度 O ( n 2 ) O(n^2) O(n2) 空间复杂度 O ( n 2 ) O(n^2) O(n2) // c #includebits/stdc.h using namespace std;int main(){string beginStr, endStr, str;int n;unordered_setstring strSet;cinn;cinbeginStrendStr;for(int i0; in; i){cinstr;strSet.insert(str);}// 记录访问过的路径以及路径长度unordered_mapstring, int visitMap;visitMap.insert({beginStr, 1});// BFSqueuestring que;que.push(beginStr);while(!que.empty()){string word que.front();que.pop();int path visitMap[word];// coutword: wordendl;// 更换单词里的一个字符for(int i0; iword.size(); i){string newWord word;// coutnewWord: newWordendl;for(int j0; j26; j){newWord[i] j a;// 可以到达结束字符则直接结束输出if(newWord endStr){coutpath1endl;return 0;}if(strSet.find(newWord)!strSet.end() visitMap.find(newWord) visitMap.end()){// visitMap[word] path 1;// 存入路径记录里visitMap.insert({newWord, path 1});// 入队 BFSque.push(newWord);// coutnewWordendl;}}}}cout0endl;return 0; }105. 有向图的完全可达性 leetcode题目地址 使用深度优先遍历探查是否能够到达每个结点。 时间复杂度 O ( n 2 ) O(n^2) O(n2) 空间复杂度 O ( n 2 ) O(n^2) O(n2) 邻接矩阵 // c #includebits/stdc.h using namespace std; int direction[][2] {0, 1, 0, -1, -1, 0, 1, 0}; void dfs(const vectorvectorint matrix,vectorbool result,int x, int y){result[y] true;for(int i1; imatrix.size(); i){if(matrix[y][i] !result[i]) dfs(matrix, visited, result, y, i);}} int main(){int n,k;cinnk;vectorvectorint matrix(n1, vectorint(n1, 0));vectorbool result(n1, false); // result[1] 1;int row,col;for(int i0; ik; i){cinrowcol;matrix[row][col] 1;}for(int j1; jn; j) {if(!result[j] matrix[1][j]){dfs(matrix, result, 1, j);}}for(int i2; in; i) {if(!result[i]){cout -1 endl;return 0;}}cout1endl;return 0; }邻接表 // c #includebits/stdc.h using namespace std; int direction[][2] {0, 1, 0, -1, -1, 0, 1, 0}; void dfs(const vectorlistint matrix,vectorbool result, int x){result[x] true;listint keys matrix[x];for(int key: keys){if(!result[key]){dfs(matrix, result, key);}}} int main(){int n,k;cinnk;vectorlistint matrix(n1);vectorbool result(n1, false); int row,col;for(int i0; ik; i){cinrowcol;matrix[row].push_back(col);}dfs(matrix, result, 1);for(int i1; in; i) {if(!result[i]){cout -1 endl;return 0;}}cout1endl;return 0; }106. 岛屿的周长 题目地址 遍历图当计算每一个岛屿方格的外周长。 初始状态下单个方格的周长为4。若当前方格的上下左右四个方向有相邻的岛屿方格则减去相邻方格数重合边数即为当前方格的外周长。将所有岛屿方格的外周长求和即为本题答案。 时间复杂度 O ( n 2 ) O(n^2) O(n2) 空间复杂度 O ( n 2 ) O(n^2) O(n2) 深搜 // c #includebits/stdc.h using namespace std; int direction[][2] {0, 1, 0, -1, -1, 0, 1, 0}; void dfs(const vectorvectorint matrix,vectorvectorbool visited,int result, int x, int y){visited[x][y] true;// 单个方格(x,y)的周长int count 4;for(int i0; i4; i){int nextx x direction[i][0];int nexty y direction[i][1];if(nextxmatrix.size()|| nextymatrix[0].size()|| nextx0 || nexty0) {continue;}if(matrix[nextx][nexty]) {// 减去重合边count--;if(!visited[nextx][nexty]) dfs(matrix, visited, result, nextx, nexty);}}// coutx y countendl;result count; } int main(){int n,m;cinnm;vectorvectorint matrix(n, vectorint(m, 0));vectorvectorbool visited(n, vectorbool(m, false));for(int i0; in; i){for(int j0; jm; j){cinmatrix[i][j];// coutmatrix[i][j] ;}// coutendl;}int result0;for(int i0; in; i){for(int j0; jm; j){if(matrix[i][j] !visited[i][j]){dfs(matrix, visited, result, i, j);}}}coutresult;return 0; }简化代码 其实无需深搜既可实现本题目标只需要查看每个岛屿单元格的外周长直接遍历邻接矩阵就可以实现。 时间复杂度 O ( n 2 ) O(n^2) O(n2) 空间复杂度 O ( 1 ) O(1) O(1) // c #includebits/stdc.h using namespace std; int direction[][2] {0, 1, 0, -1, -1, 0, 1, 0}; int main(){int n,m;cinnm;vectorvectorint matrix(n, vectorint(m, 0));for(int i0; in; i){for(int j0; jm; j){cinmatrix[i][j];}}int result0;for(int i0; in; i){for(int j0; jm; j){if(matrix[i][j]){// 初始化单元格周长int count 4;// 查看四个方向for(int k0; k4; k){int nextx i direction[k][0];int nexty j direction[k][1];// 越界if(nextxmatrix.size()|| nextymatrix[0].size()|| nextx0 || nexty0) {continue;}if(matrix[nextx][nexty]) {// 减去重合边count--;}} // couti j countendl;result count;}}}coutresult;return 0; }
http://www.hkea.cn/news/14391300/

相关文章:

  • 成都网站建设冠辰网站响应时间 标准
  • 长沙医疗网站建设厦门网页设计代做
  • 电子商务网站建设的核心多选品牌vi形象设计公司
  • 公众号做成网站那样怎么做做网站自己不会维护怎么办
  • 佛山市城乡住房建设局网站首页wordpress评论框函数
  • 做网站找谁好福田企业网站推广公司
  • 仿网站建设网站主机与服务器吗
  • 网站建设目标是什么网址大全查询
  • 英文网站模板 查看wordpress关闭搜索
  • 网站内部seowordpress 改模板
  • 长春建站公司网站化妆品网站建设报告
  • 表白网站制作平台wordpress浏览历史
  • 域名大全免费网站泰安网络公司电话
  • 手把手做网站页面wordpress获取菜单栏
  • 网站安全认证多少钱做维修广告在哪个网站
  • 找做网站appwordpress主题压缩包
  • 保定网站优化公司云南抖音推广
  • 网站怎么做动效河北人社app二维码图片
  • 计算机网站建设与维护公益网站建设
  • 中国建设银行官网站电话影楼免费网站建设
  • 怎么做北京赛车网站网站加载速度慢的原因
  • 郫县城乡规划建设管理局网站江苏镇江十大外贸公司
  • 爱站关键词挖掘软件中小网站 架构
  • 网站的ftp怎样制作公司的网页
  • 广州专业做外贸网站建设腾讯云的wordpress安装目录
  • 佛山模板建站哪家好seo技能培训课程
  • 凡科网站开发一般通过饼干
  • 10个网站用户体验优化的研究结果减粘装置设备设计要点
  • 闵行区网站开发临沂哪家做网站最好
  • 做玉的网站西安公司网站费用