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

怎么建立自己的个人网站河南做网站的

怎么建立自己的个人网站,河南做网站的,dz门户网站模板,怎么用宝塔做网站目录 1、图像渲染 1.1 算法原理 1.2 算法代码 2、岛屿数量 2.1 算法原理 2.2 算法代码 3、岛屿的最大面积 3.1 算法原理 3.2 算法代码 4、被围绕的区域 4.1 算法原理 4.2 算法代码 5、太平洋大西洋水流问题 5.1 算法原理 5.2 算法代码 6、扫雷游戏 6.1 算法原理…

目录

1、图像渲染

1.1 算法原理

1.2 算法代码

2、岛屿数量

2.1 算法原理

2.2 算法代码

3、岛屿的最大面积

3.1 算法原理

3.2 算法代码

4、被围绕的区域

4.1 算法原理

 4.2 算法代码

5、太平洋大西洋水流问题

5.1 算法原理

5.2 算法代码

6、扫雷游戏

6.1 算法原理

6.2 算法代码

7、衣橱整理 (原:面试题 13. 机器人的运动范围 )

7.1 算法原理

7.2 算法代码


1、图像渲染

. - 力扣(LeetCode)

1.1 算法原理

  • 从(sr,sc)位置开始上下左右暴搜,将区域中符合条件的值修改为color。
  • 细节问题:当 color == image[sr][sc]时,不需修改,直接返回即可。

1.2 算法代码

class Solution {int[] dx, dy;int[][] image;int color;int n, m;int val;public int[][] floodFill(int[][] image_, int sr, int sc, int color_) {if(color_ == image_[sr][sc]) return image_;image = image_;val = image[sr][sc];color = color_;n = image.length;m = image[0].length;dx = new int[]{-1, 1, 0, 0};dy = new int[]{0, 0, -1, 1};image[sr][sc] = color;dfs(sr, sc);return image;}public void dfs(int i, int j) {for(int k = 0; k < 4; k++) {int x = i + dx[k];int y = j + dy[k];if(x >= 0 && x < n && y >= 0 && y < m && image[x][y] == val) {image[x][y] = color;dfs(x, y);}}}
}

2、岛屿数量

. - 力扣(LeetCode)

2.1 算法原理

全局变量:

  1. boolean[][] check;//是否来过
  2. int ret;//返回值
  3. int[] dx;//横坐标上下左右
  4. int[] dy;//纵坐标上下左右

思想:

  • 遍历矩阵,每次来到新的'1'区域,将这个区域中的所有'1'位置做好标记(check置为false),ret++
  • 返回ret

2.2 算法代码

class Solution {int[] dx = {1, -1, 0, 0};int[] dy = {0, 0, 1, -1};boolean[][] check;int ret;int m, n;public int numIslands(char[][] grid) {m = grid.length;n = grid[0].length;check = new boolean[m][n];for(int i = 0; i < m ; i++) {for(int j = 0; j < n; j++) {if(check[i][j] == false && grid[i][j] == '1') {ret++;check[i][j] = true;dfs(grid, i, j);}}}return ret;}public void dfs(char[][] grid, int i, int j) {for(int k = 0; k < 4; k++) {int x = i + dx[k];int y = j + dy[k];if(x >= 0 && x < m && y >= 0 && y < n && grid[x][y] == '1' && !check[x][y]) {check[x][y] = true;dfs(grid, x, y);}}}
}

3、岛屿的最大面积

. - 力扣(LeetCode)

3.1 算法原理

与上题基本一致,选出面积最大值即可:

  1. 暴搜
  2. count记录每块陆地的最大面积(每次进入dfs,count++)
  3. ret记录所有陆地的最大面积(选出count的最大值)

3.2 算法代码

class Solution {int[] dx = {1, -1, 0, 0};int[] dy = {0, 0, 1, -1};boolean[][] check;int ret;int m, n;int count;public int maxAreaOfIsland(int[][] grid) {m = grid.length;n = grid[0].length;check = new boolean[m][n];for(int i = 0; i < m ; i++) {for(int j = 0; j < n; j++) {if(check[i][j] == false && grid[i][j] == 1) {count = 0;check[i][j] = true;dfs(grid, i, j);//统计一块陆地的面积ret = Math.max(ret, count);}}}return ret;}public void dfs(int[][] grid, int i, int j) {count++;       for(int k = 0; k < 4; k++) {int x = i + dx[k];int y = j + dy[k];if(x >= 0 && x < m && y >= 0 && y < n && grid[x][y] == 1 && !check[x][y]) {check[x][y] = true;dfs(grid, x, y);}}}
}

4、被围绕的区域

. - 力扣(LeetCode)

4.1 算法原理

 本题采用“正难则反”法则,既然我们无法区分边缘区域与内部区域,那么就先对矩阵的边缘区域进行操作:

  1. 对边缘区域的所有'O'区域进行深搜,修改为'.'
  2. 此时边缘区域的'O'已全部修改为'.',内部区域的'O'仍为'O'
  3. 再遍历整个矩阵,'.'重新修改为'O'(边缘区域的'O'),'O'则修改为'X'(内部区域的'O')

 4.2 算法代码

class Solution {int m, n;int[] dx = { 1, -1, 0, 0 };int[] dy = { 0, 0, 1, -1 };public void solve(char[][] board) {m = board.length;n = board[0].length;for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {//把边缘区域的O置为.if ((i == 0 || i == m - 1 || j == 0 || j == n - 1) && board[i][j] == 'O') {board[i][j] = '.';dfs(board, i, j);}}}for (int i = 0; i < m; i++)for (int j = 0; j < n; j++) {if (board[i][j] == 'O')board[i][j] = 'X';else if (board[i][j] == '.')board[i][j] = 'O';}}public void dfs(char[][] board, int i, int j) {for (int k = 0; k < 4; k++) {int x = i + dx[k];int y = j + dy[k];if (x >= 0 && x < m && y >= 0 && y < n && board[x][y] == 'O') {board[x][y] = '.';dfs(board, x, y);}}}
}

5、太平洋大西洋水流问题

. - 力扣(LeetCode)

5.1 算法原理

本题仍采用“正难则反”原则:

  1. 从海岸反向记录可流入海洋的位置
  2. 分别标记哪些位置可流入太平洋(boolean[][] pac),可流入则标为true
  3. 分别标记哪些位置可流入大西洋(boolean[][] atl),可流入则标为true
  4. pac、atl中均为true的位置,说明均可流入两大海洋。

5.2 算法代码

class Solution {int[] dx = {1, -1, 0, 0};int[] dy = {0, 0, 1, -1};int m, n;public List<List<Integer>> pacificAtlantic(int[][] heights) {m = heights.length;n = heights[0].length;boolean[][] pac = new boolean[m][n];//标记太平洋可流入的位置boolean[][] atl = new boolean[m][n];//标记大西洋可流入的位置//pacfor(int j = 0; j < n; j++) dfs(heights, 0, j, pac);for(int i = 0; i < m; i++) dfs(heights, i, 0, pac);//atlfor(int j = 0; j < n; j++) dfs(heights, m - 1, j, atl);for(int i = 0; i < m; i++) dfs(heights, i, n - 1, atl);//都可流入的位置List<List<Integer>> ret = new ArrayList<>();for(int i = 0; i < m; i++) {for(int j = 0; j < n; j++) {if(pac[i][j] && atl[i][j]) {List<Integer> list = new ArrayList<>();list.add(i);list.add(j);ret.add(list);}}}return ret;}public void dfs(int[][] heights, int i, int j, boolean[][] check) {check[i][j] = true;int cur = heights[i][j];for(int k = 0; k < 4; k++) {int x = i + dx[k];int y = j + dy[k];if(x >= 0 && x < m && y >= 0 && y < n && check[x][y] == false && heights[x][y] >= cur) {dfs(heights, x, y, check);}}}
}

6、扫雷游戏

. - 力扣(LeetCode)

6.1 算法原理

本题主要节目就是dfs及回溯:如果相邻没有地雷的空方块被挖出,则将其上下左右及四角方向全部递归揭露所有和其相邻的未挖出的方块,直至相邻的方块的周围有地雷,则将周围有地雷的方块标为地雷的数量。

对于斜方向上,我们只需在dx和dy数组上的对应位置上加上相应值即可。

6.2 算法代码

class Solution {char[][] board;int[] dx = {0, 0, 1, -1, -1, -1, 1, 1};int[] dy = {1, -1, 0, 0, -1, 1, -1, 1};int m, n;public char[][] updateBoard(char[][] board_, int[] click) {board = board_;m = board.length;n = board[0].length;int sx = click[0], sy = click[1];char ch = board[sx][sy];if(ch == 'M') {board[sx][sy] = 'X';return board;}if(ch == 'B') return board;dfs(sx, sy);return board;}public void dfs(int i, int j) {int count = 0;for(int k = 0; k < 8; k++) {int x = i + dx[k];int y = j + dy[k];if(x >= 0 && x < m && y >= 0 && y < n && board[x][y] == 'M') {count++;}}if(count != 0) {//周围有地雷board[i][j] = (char)(count + '0');return;}else {//周围没有地雷board[i][j] = 'B';for(int k = 0; k < 8; k++) {int x = i + dx[k], y = j + dy[k];if(x >= 0 && x < m && y >= 0 && y < n && board[x][y] == 'E') {dfs(x, y);}}}}
}

7、衣橱整理 (原:面试题 13. 机器人的运动范围 )

. - 力扣(LeetCode)

7.1 算法原理

直接dfs洪水灌溉,需要注意的是:

  1. 每个位置不能重复进入
  2. 横纵下标的每个位的数值之和不能超过cnt

 7.2 算法代码

class Solution {int ret;int[] dx = { 1, -1, 0, 0 };int[] dy = { 0, 0, 1, -1 };int m, n;boolean[][] check;public int wardrobeFinishing(int m_, int n_, int cnt) {m = m_;n = n_;check = new boolean[m][n];dfs(0, 0, cnt);return ret;}public void dfs(int i, int j, int cnt) {check[i][j] = true;ret++;for (int k = 0; k < 4; k++) {int x = i + dx[k];int y = j + dy[k];if (x >= 0 && x < m && y >= 0 && y < n && !check[x][y] && isRight(x, y, cnt)) {dfs(x, y, cnt);}}}public boolean isRight(int x, int y, int cnt) {int sum = 0;while (x != 0) {sum += x % 10;x /= 10;}while (y != 0) {sum += y % 10;y /= 10;}return sum <= cnt;}
}

END


文章转载自:
http://dinncofloridity.ssfq.cn
http://dinncoraker.ssfq.cn
http://dinncoparton.ssfq.cn
http://dinncoamphipathic.ssfq.cn
http://dinncorawish.ssfq.cn
http://dinncomulticylinder.ssfq.cn
http://dinncoelectrochemical.ssfq.cn
http://dinncozagreus.ssfq.cn
http://dinncolimestone.ssfq.cn
http://dinncodormitive.ssfq.cn
http://dinncospiciness.ssfq.cn
http://dinncopluricellular.ssfq.cn
http://dinncoinvestitive.ssfq.cn
http://dinncopetrozavodsk.ssfq.cn
http://dinncoverdurous.ssfq.cn
http://dinncomingle.ssfq.cn
http://dinncoratio.ssfq.cn
http://dinnconupercaine.ssfq.cn
http://dinncoseidel.ssfq.cn
http://dinncoperiphonic.ssfq.cn
http://dinncogreenlet.ssfq.cn
http://dinncospinoff.ssfq.cn
http://dinncoconcave.ssfq.cn
http://dinncochilitis.ssfq.cn
http://dinncotooltips.ssfq.cn
http://dinncotamworth.ssfq.cn
http://dinncobarabara.ssfq.cn
http://dinncopombe.ssfq.cn
http://dinncoadenectomy.ssfq.cn
http://dinncointension.ssfq.cn
http://dinncohypoglobulia.ssfq.cn
http://dinncomedibank.ssfq.cn
http://dinncobaps.ssfq.cn
http://dinncoterrace.ssfq.cn
http://dinncoachaian.ssfq.cn
http://dinncoutterance.ssfq.cn
http://dinncoorion.ssfq.cn
http://dinncopythia.ssfq.cn
http://dinncocandlestick.ssfq.cn
http://dinncopetechia.ssfq.cn
http://dinncogrin.ssfq.cn
http://dinncomouse.ssfq.cn
http://dinncocapon.ssfq.cn
http://dinncoconsecrate.ssfq.cn
http://dinncodenudate.ssfq.cn
http://dinncohrvatska.ssfq.cn
http://dinncocaprifig.ssfq.cn
http://dinncorhomboidal.ssfq.cn
http://dinncocoleoptile.ssfq.cn
http://dinncocamelback.ssfq.cn
http://dinncodreamboat.ssfq.cn
http://dinncoalarmist.ssfq.cn
http://dinncoinexpectant.ssfq.cn
http://dinncotergiversation.ssfq.cn
http://dinncosunbow.ssfq.cn
http://dinncodilapidate.ssfq.cn
http://dinncodelectate.ssfq.cn
http://dinncorecommendable.ssfq.cn
http://dinncowindbound.ssfq.cn
http://dinnconeorealism.ssfq.cn
http://dinncocanescent.ssfq.cn
http://dinncocapernaum.ssfq.cn
http://dinncochaplaincy.ssfq.cn
http://dinncoseparative.ssfq.cn
http://dinncofieriness.ssfq.cn
http://dinncounpracticed.ssfq.cn
http://dinncofratchy.ssfq.cn
http://dinncoaptitude.ssfq.cn
http://dinnconovelise.ssfq.cn
http://dinncobriarwood.ssfq.cn
http://dinncocockboat.ssfq.cn
http://dinncoerethism.ssfq.cn
http://dinncoyardang.ssfq.cn
http://dinncopleiotropic.ssfq.cn
http://dinncoskatebarrow.ssfq.cn
http://dinncostagger.ssfq.cn
http://dinncolofter.ssfq.cn
http://dinncoregard.ssfq.cn
http://dinncopharyngotomy.ssfq.cn
http://dinncoconspecific.ssfq.cn
http://dinncochinfest.ssfq.cn
http://dinncopittance.ssfq.cn
http://dinncooutpoint.ssfq.cn
http://dinncocoring.ssfq.cn
http://dinncobezazz.ssfq.cn
http://dinncocor.ssfq.cn
http://dinncotambov.ssfq.cn
http://dinncosubstitutive.ssfq.cn
http://dinncoimbibition.ssfq.cn
http://dinncoscarce.ssfq.cn
http://dinncogonef.ssfq.cn
http://dinncodrupaceous.ssfq.cn
http://dinncoargentic.ssfq.cn
http://dinncolandwind.ssfq.cn
http://dinncoarranging.ssfq.cn
http://dinncouncreated.ssfq.cn
http://dinncoaromatize.ssfq.cn
http://dinncoambilingual.ssfq.cn
http://dinncolipoidal.ssfq.cn
http://dinncoandragogy.ssfq.cn
http://www.dinnco.com/news/90266.html

相关文章:

  • 优化图片大小的网站香港旺道旺国际集团
  • 新手做网站的注意事项设计网站logo
  • 阿里云做网站怎么挣钱seo的五个步骤
  • 重庆建网站哪家售后服务比较好武汉网站seo推广
  • 域名抢住网站查权重网站
  • 图片网站 建站免费加客源软件
  • 大网站制作公司企业线上培训课程
  • 阿里巴巴怎么做网站爱站在线关键词挖掘
  • 网易企业邮箱登录入口手机网页版北京优化核酸检测
  • 非经营备案网站能贴放广告么个人永久免费自助建站
  • 如何查询网站注册信息查询seo快速排名代理
  • o2o网站建设哪家好开发一个app价目表
  • xyz溢价域名最好的网站seo优化推广工程师招聘
  • 手机网站给一个竞价推广是什么工作
  • 网站建设 需要注意什么百度搜索关键词设置
  • 手机网站建设软件全国疫情实时资讯
  • 如何把网站做的好看百度地图关键词排名优化
  • 企业网站建设专家百度一下你就知道了 官网
  • 手机动态网站制作大连百度网站排名优化
  • 查网站死链必用工具谷歌收录查询工具
  • 通野未帆做愛的网站吗关键词数据分析
  • aoc24g2色域北京seo优化诊断
  • 一起作业网站英语作业怎么做app投放推广
  • 营销型网站建设项目需求表网络舆情分析
  • 我想建设一个网站活动软文怎么写
  • 郑州汉狮做网站报价关联词有哪些 全部
  • 提卡的网站怎么做百度一下打开
  • 北京专业网络直播制作寻找郑州网站优化公司
  • 自己怎么做网站卖东西百度安装应用
  • 合肥专门做网站的公司有哪些企业网站设计规范