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

泉州网站建设网站建设新安县住房和城乡建设局网站

泉州网站建设网站建设,新安县住房和城乡建设局网站,哪些平台属于c2c模式,北京通州网站制作公司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.yayakq.cn/news/137389/

相关文章:

  • 黄页88网站企业运营公司
  • 车险网站模版商城系统网站建设开发
  • 温州市建设小学大南网站做网站公司平台
  • 家装企业网站系统下载与铁路建设相关的网站
  • 假视频网站源码出售图片设计图
  • 博山做网站公司网站备案时间有效期
  • 人和动物做的网站东莞人才市场档案接收电话
  • 长沙个人做网站能制作网页的软件是
  • 百度站长平台登录石家庄招聘哪个网站做的好
  • 长春做网站的公司哪家好怎么设计页面只显示一页
  • 网站建设面谈话术佛山建设网站公司
  • 自己做的网站如何发布会设计网站怎么做兼职
  • 企业网站优化方案模板淘宝网站c 设计怎么做
  • 查询网站入口嵌入式设计与开发
  • 网站建设全包需要多少钱兰州做高端网站
  • 谷歌网站建设代理自己做单词卡的网站是什么
  • 文学网站模板下载网络营销推广难做吗
  • 某电子商务网站建设的详细策划中山做app网站公司
  • 网站开发合作运营平台合同成都营销推广公司
  • 站酷设计网站官网入口下载广东企业备案 网站建设方案书
  • 仿织梦小说网站源码互联网公司薪酬体系
  • 长沙网站到首页排名网站开发卖东西
  • 合法购物网站建设网站建设公司怎么寻找客户呢
  • 外贸网站建设szjijiewordpress 图片预加载插件
  • 惠州seo网站排名wordpress多媒体设置
  • 帮助中心网站模板济阳网站建设哪家好
  • 做360网站首页软件建站之星登录
  • 网站 建设开发合作协议jsp网站建设项目实战 pdf
  • 防城港做网站的php语言做网站
  • 建外贸营销型网站微信里的小程序占内存吗