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

湖南疫情传来坏消息河北seo基础教程

湖南疫情传来坏消息,河北seo基础教程,在线生成固定悬浮导航的工具网站,网站域名要钱嘛36. 有效的数独 class Solution {// 方法 isValidSudoku 接收一个字符二维数组 board,表示数独棋盘,返回是否有效public boolean isValidSudoku(char[][] board) {// 创建三个二维数组来记录每一行、列和子框中数字的出现次数int[][] rows new int[9][…

36. 有效的数独

class Solution {// 方法 isValidSudoku 接收一个字符二维数组 board,表示数独棋盘,返回是否有效public boolean isValidSudoku(char[][] board) {// 创建三个二维数组来记录每一行、列和子框中数字的出现次数int[][] rows = new int[9][9];      // 行记录int[][] columns = new int[9][9];   // 列记录int[][][] subboxes = new int[3][3][9]; // 子框记录// 遍历整个棋盘for (int i = 0; i < 9; i++) {for (int j = 0; j < 9; j++) {char c = board[i][j]; // 当前单元格的字符// 如果单元格不是空格(即不是 '.')if (c != '.') {// 计算当前数字的索引(1-9 映射到 0-8) 如果重复相同的数映射到同一个位置会不断+1,如果重复就会大于1int index = c - '0' - 1; // 在行、列和子框中更新当前数字的出现次数rows[i][index]++;        // 增加行的计数columns[j][index]++;     // 增加列的计数subboxes[i / 3][j / 3][index]++; // 增加子框的计数// 如果某个位置的计数超过 1,说明出现重复,返回 falseif (rows[i][index] > 1 || columns[j][index] > 1 || subboxes[i / 3][j / 3][index] > 1) {return false; // 数独无效}}}}// 如果循环结束,说明没有发现重复,返回 truereturn true; // 数独有效}
}

54. 螺旋矩阵

class Solution {// // 方法 spiralOrder 接收一个二维整数数组 matrix,返回矩阵的螺旋顺序遍历结果public List<Integer> spiralOrder(int[][] matrix) {// 获取矩阵的行数int m = matrix.length;// 获取矩阵的列数int n = matrix[0].length;// 定义四个边界// 上边界int up = 0;// 左边界int left = 0;// 右边界int right = n - 1;// 下边界int down = m - 1;// 存储结果的列表List<Integer> result =  new ArrayList<>();// 使用循环遍历,直到所有元素都被访问while(true) {// 从左到右遍历上边界for (int i = left; i <= right; i++) {// 添加当前元素到结果列表中result.add(matrix[up][i]);}// 更新上边界,检查是否已超出下边界if (++up > down) {// 如果上边界超过下边界,结束循环break;}// 从上到下遍历右边界for (int i = up; i <= down; i++) {result.add(matrix[i][right]); // 添加当前元素到结果列表中}// 更新右边界,检查是否已超出左边界if (--right < left) {break; // 如果右边界超过左边界,结束循环}// 从右到左遍历下边界for (int i = right; i >= left; i--) {result.add(matrix[down][i]); // 添加当前元素到结果列表中}// 更新下边界,检查是否已超出上边界if (--down < up) {break; // 如果下边界超过上边界,结束循环}// 从下到上遍历左边界for (int i = down; i >= up; i--) {result.add(matrix[i][left]); // 添加当前元素到结果列表中}// 更新左边界,检查是否已超出右边界if (++left > right) {break; // 如果左边界超过右边界,结束循环}}// 返回螺旋顺序遍历的结果return result;}}

48. 旋转图像

class Solution {// 方法 rotate 接收一个二维整数数组 matrix,表示要旋转的矩阵public void rotate(int[][] matrix) {// 获取矩阵的行数 mint m = matrix.length;// 获取矩阵的列数 nint n = matrix[0].length;// 创建一个临时矩阵,用于存储原矩阵的值int[][] temp = new int[m][];for (int i = 0; i < m; i++) {// 深拷贝原矩阵的每一行,以防旋转时修改原矩阵的值temp[i] = matrix[i].clone(); // 使用 clone() 方法进行深拷贝}// 遍历临时矩阵,将值重新赋值到原矩阵中的适当位置,完成顺时针旋转for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {// 根据旋转公式,把 temp[i][j] 放到 matrix[j][n - 1 - i]matrix[j][n - 1 - i] = temp[i][j];}}}}

73. 矩阵置零

class Solution {// 方法 setZeroes 接收一个二维整数数组 matrix,表示要处理的矩阵public void setZeroes(int[][] matrix) {int m = matrix.length; // 获取矩阵的行数int n = matrix[0].length; // 获取矩阵的列数// 创建两个标记数组,用于记录需要置零的行和列boolean[] row = new boolean[m]; // 行标记位boolean[] col = new boolean[n]; // 列标记位// 第一次遍历整个矩阵,查找值为 0 的元素for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {if (matrix[i][j] == 0) { // 如果当前元素为 0row[i] = true; // 将对应的行标记为 truecol[j] = true; // 将对应的列标记为 true}}}// 第二次遍历,根据标记修改矩阵中的元素for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {// 如果该行或该列需要置为 0,则将当前元素设置为 0if (row[i] || col[j]) {matrix[i][j] = 0; // 设置当前元素为 0}}}}
}

289. 生命游戏

class Solution {// 方法 gameOfLife 接收一个二维整数数组 board,表示细胞的当前状态public void gameOfLife(int[][] board) {// 创建一个数组来表示邻居的位置变化,邻居可以在横向、纵向和对角线int[] neighbors = {0, 1, -1}; int rows = board.length; // 获取行数int cols = board[0].length; // 获取列数// 创建一个复制数组 copyBoard,用于存储当前状态int[][] copyBoard = new int[rows][cols];// 从原数组复制一份到 copyBoard 中for (int row = 0; row < rows; row++) {for (int col = 0; col < cols; col++) {copyBoard[row][col] = board[row][col]; // 深拷贝细胞状态}}// 遍历面板中的每一个细胞for (int row = 0; row < rows; row++) {for (int col = 0; col < cols; col++) {// 统计当前细胞八个相邻细胞中的活细胞数量int liveNeighbors = 0;// 检查当前细胞的所有邻居for (int i = 0; i < 3; i++) { // 遍历邻居的行偏移for (int j = 0; j < 3; j++) { // 遍历邻居的列偏移// 排除当前细胞自身if (!(neighbors[i] == 0 && neighbors[j] == 0)) {int r = (row + neighbors[i]); // 计算邻居的行坐标int c = (col + neighbors[j]); // 计算邻居的列坐标// 检查邻居是否在矩阵内,并且是活细胞if ((r < rows && r >= 0) && (c < cols && c >= 0) && (copyBoard[r][c] == 1)) {liveNeighbors += 1; // 统计活细胞数量}}}}// 应用生命游戏规则:// 规则 1 或 规则 3:活细胞与少于 2 个或多于 3 个活邻居则死亡if ((copyBoard[row][col] == 1) && (liveNeighbors < 2 || liveNeighbors > 3)) {board[row][col] = 0; // 死亡}// 规则 4:死细胞有正好 3 个活邻居则复活if (copyBoard[row][col] == 0 && liveNeighbors == 3) {board[row][col] = 1; // 复活}}}}
}
http://www.hkea.cn/news/451184/

相关文章:

  • 沧州做网站费用搜索引擎优化是做什么的
  • 社区网站推广方案线上运营的5个步骤
  • 湘潭学校网站建设 z磐石网络网站关键词优化教程
  • wordpress多程序用户同步汕头seo排名
  • 旅游网站 建设平台分析百度seo一本通
  • 怎么用dw做网站app开发网站
  • 昆山做网站的公司有哪些seo整站优化推广
  • 网站建设谈单情景对话青岛seo百科
  • 网站做自适应好不好网页分析报告案例
  • 大连手机自适应网站建设公司seo诊断站长
  • 有哪些好的网站十大电商代运营公司
  • 个人网页设计欣赏网站整站优化快速排名
  • 多少钱立案seo 公司
  • 医学类的网站做Google百度怎么优化排名
  • 手机网站怎样做枸橼酸西地那非片的功效与作用
  • 邯郸做wap网站的公司六六seo基础运营第三讲
  • 六安市建设银行网站seo编辑的工作内容
  • seo外包平台福州百度快照优化
  • 橙子建站广告怎么投放竞价网络推广
  • 中国公司查询网站网络公司起名
  • wordpress邮箱内容更改一键关键词优化
  • 楼市最新消息2022年房价走势seo网络推广经理
  • wordpress免费中文企业主题seo权重优化软件
  • 周口网站建设哪家好济南专业seo推广公司
  • 济南网站忧化怎么把抖音关键词做上去
  • 网站建设与维护的题目网站点击软件排名
  • 网站收录服务企业网络的组网方案
  • nba排名灰色词seo排名
  • 如何建自己的个人网站深圳市seo上词多少钱
  • 迎访问中国建设银行网站_永久免费的电销外呼系统