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

阿里巴巴做网站分录网站修改title

阿里巴巴做网站分录,网站修改title,网站可信度建设,网站样例📝前言说明: 本专栏主要记录本人递归,搜索与回溯算法的学习以及LeetCode刷题记录,按专题划分每题主要记录:(1)本人解法 本人屎山代码;(2)优质解法 优质代码…

📝前言说明:

  • 本专栏主要记录本人递归,搜索与回溯算法的学习以及LeetCode刷题记录,按专题划分
  • 每题主要记录:(1)本人解法 + 本人屎山代码;(2)优质解法 + 优质代码;(3)精益求精,更好的解法和独特的思想(如果有的话)
  • 文章中的理解仅为个人理解。如有错误,感谢纠错

🎬个人简介:努力学习ing
📋本专栏:C++刷题专栏
📋其他专栏:C语言入门基础,python入门基础,C++学习笔记,Linux
🎀CSDN主页 愚润泽

你可以点击下方链接,进行该专题内不同子专题的学习

点击链接开始学习
导论递归 (一) 、递归 (二)
二叉树的深搜穷举 vs 暴搜 vs 深搜 vs 回溯 vs 剪枝
综合练习(一)综合练习(二)
综合练习(三)综合练习(四)
FloodFill算法记忆化搜索

题目

  • 79. 单词搜索
    • 优质解
  • 1219. 黄金矿工
    • 优质解
  • 980. 不同路径 III
    • 个人解


79. 单词搜索

题目链接:https://leetcode.cn/problems/word-search/description/
在这里插入图片描述


优质解

思路:

  • 从第二步开始,每一步实际上是往周围 4 个位置探索,如果能走就继续递归下一个word字符
  • 不解释了,看注释吧

代码:

class Solution {
public:int m, n;bool check[6][6]; // 最大不会超过这么大// 用两个 4 个元素的数组来表示对应的四个移动方向int dx[4] = {0, 0, 1, -1};int dy[4] = {1, -1, 0, 0};// pos 记录匹配了几个了,row 和 col 是上一个匹配的字符的行和列bool dfs(vector<vector<char>>& board, string word, int pos, int row, int col){if(pos == word.size()) return true;for(int i = 0; i < 4; i++) // 尝试 4 个搜索方向{int r = row + dx[i], c = col + dy[i];if(r >= 0 && r < m && c >= 0 && c < n && check[r][c] == false && board[r][c] == word[pos]){check[r][c] = true;// 找到路径,就立刻返回 trueif(dfs(board, word, pos + 1, r, c)) return true;check[r][c] = false;}}return false;}bool exist(vector<vector<char>>& board, string word) {m = board.size();n = board[0].size();for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){if(board[i][j] == word[0]) // 先单独对第一个字符判断{check[i][j] = true;if(dfs(board, word, 1, i, j)) return true; // 再进入就是第二个字符了check[i][j] = false;}}}return false;}
};

时间复杂度: O ( m ∗ n ∗ 4 L ) O(m * n * 4^L) O(mn4L), L 为单词长度
空间复杂度: O ( m ∗ n + L ) O(m * n + L) O(mn+L)


1219. 黄金矿工

题目链接:https://leetcode.cn/problems/path-with-maximum-gold/description/
在这里插入图片描述


优质解

思路:

  • 对每一个位置进行一遍dfs

代码:

class Solution {
public:int ans;int dx[4] = {0, 0, 1, -1};int dy[4] = {1, -1, 0, 0};bool check[16][16];int m, n;void dfs(vector<vector<int>>& grid, int row, int col, int path){for(int i = 0; i < 4; i++){int r = row + dx[i], c = col + dy[i];if(r >= 0 && r < m && c >= 0 && c < n && !check[r][c] && grid[r][c]){check[r][c] = true;dfs(grid, r, c, path + grid[r][c]); // 传局部变量path自动回溯check[r][c] = false;}}ans = max(ans, path); // “无路可走”才会到这}int getMaximumGold(vector<vector<int>>& grid) {m = grid.size(), n = grid[0].size();for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){if(grid[i][j]){check[i][j] = true;dfs(grid, i, j, grid[i][j]);check[i][j] = false;}}}return ans;}
};

时间复杂度: O ( m × n × 4 m × n ) O(m \times n \times 4^ {m\times n}) O(m×n×4m×n),m * n 是最长路径长
空间复杂度: O ( m × n ) O(m \times n) O(m×n)


980. 不同路径 III

题目链接:https://leetcode.cn/problems/unique-paths-iii/description/
在这里插入图片描述

个人解

思路:

  • 不解释了,把前面的题都写好的话,这题应该不是很难

用时:15:00

屎山代码:

class Solution {
public:bool check[20][20];int dx[4] = {0, 0, 1, -1};int dy[4] = {1, -1, 0, 0};int m, n;int ans;int steps;void dfs(vector<vector<int>>& grid, int row, int col, int s){for(int i = 0; i < 4; i++){int r = row + dx[i], c = col + dy[i];if(r >= 0 && r < m && c >= 0 && c < n){if(!check[r][c] && grid[r][c] == 0){check[r][c] = true;dfs(grid, r, c, s + 1);check[r][c] = false;}if(s == steps && grid[r][c] == 2) // 所有 0 都走过一遍了,并且下一步是 1 {ans++;return;}}}}int uniquePathsIII(vector<vector<int>>& grid) {m = grid.size(), n = grid[0].size();int start_i, start_j;for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){if(grid[i][j] == 1) // 找起始位置{start_i = i;start_j = j;}if(grid[i][j] == -1) // 设置障碍check[i][j] = true;if(grid[i][j] == 0) // 记录总共要走多少步steps++; }}dfs(grid, start_i, start_j, 0);return ans;}
};

时间复杂度: O ( 4 m × n ) O(4^{m × n}) O(4m×n)
空间复杂度: O ( m × n ) O(m \times n) O(m×n)


🌈我的分享也就到此结束啦🌈
要是我的分享也能对你的学习起到帮助,那简直是太酷啦!
若有不足,还请大家多多指正,我们一起学习交流!
📢公主,王子:点赞👍→收藏⭐→关注🔍
感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!


文章转载自:

http://pLtAnG0j.ckfqt.cn
http://ZvobxMTv.ckfqt.cn
http://OJcd86ku.ckfqt.cn
http://cbGN3eZc.ckfqt.cn
http://wLfnQeed.ckfqt.cn
http://oyOLd9Yt.ckfqt.cn
http://zJhNu4D8.ckfqt.cn
http://lxvJ4vAx.ckfqt.cn
http://IDLabJtt.ckfqt.cn
http://GsZ2XmrE.ckfqt.cn
http://z90vNdbb.ckfqt.cn
http://1gJJE5of.ckfqt.cn
http://KuA7iJJn.ckfqt.cn
http://4AGen5Z3.ckfqt.cn
http://TZdwK20s.ckfqt.cn
http://iSvtoOVO.ckfqt.cn
http://QgCyiuyC.ckfqt.cn
http://CDi498nF.ckfqt.cn
http://EXzlPdwx.ckfqt.cn
http://UjKrehfS.ckfqt.cn
http://bvCodKxj.ckfqt.cn
http://CZsqdP0h.ckfqt.cn
http://6ByVMhjJ.ckfqt.cn
http://95Q3CGDM.ckfqt.cn
http://QrTXimme.ckfqt.cn
http://oMTwLlqz.ckfqt.cn
http://skdY6f6X.ckfqt.cn
http://DLRPLFnp.ckfqt.cn
http://1lKOoCpI.ckfqt.cn
http://PnnjVbGm.ckfqt.cn
http://www.dtcms.com/wzjs/635102.html

相关文章:

  • dede网站怎么做单页面微信注册网站入口
  • 昆明网站建设赵新乡营销网站建设公司哪家好
  • 用v9做的网站上传服务器惠州网站建设制作推广
  • 济南的企业网站国外免费网站做推广
  • 电子商务网站建设课网站改完域名打开速度慢
  • 镇江网站制作哪家公司比较好女生就业前景最好的十大热门专业
  • 成都优化网站分析自己怎么做外贸网站
  • 公司做网站的意义帝国网站模板建设
  • 河南 网站开发网站策划 ppt
  • 搜狗优化好的网站成都微信网站制作
  • 阳江建设网站企业网站开发费用
  • 1号店网站模板下载南京做网站哪家公司最好
  • 苍南住房和城乡规划建设局网站大同百度做网站多少钱
  • 都匀网站制作嘉兴的网站设计公司有哪些
  • 可以做推广东西的网站全屏 单页网站
  • 电子商务网站建设论文3000字哈尔滨网站设计公司
  • 为什么做域名跳转网站样式不见了网站办公室文化建设
  • 焞煌网站怎么做创新驱动发展战略
  • 服装织梦网站源码做pc端网站新闻
  • 厦门企业建网站制作一周热点新闻
  • 网站建设程序员wordpress+简书模板
  • 门源县住房和城乡建设局网站如何制作二维码的内容
  • app 网站平台建设实施方案网站首页设计思路
  • 公司没网站怎么做dsp谷歌seo优化是什么
  • 广东深圳网站建设服务百度推广方案怎么写
  • 利用网站制作网页用c 做网站设计系统的项目作业
  • 不会编程 做网站html5手机网站开发区别
  • 重庆忠县网站建设公司哪里有中国建设监理协会网站个人会员系统栏
  • 云南省建设厅招标办网站wordpress in
  • 网站推广的基本方法是哪四个外国网站签到做任务每月挣钱