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

nba最新排名表响应式模版移动优化

nba最新排名表,响应式模版移动优化,制作网站流程,外部链接链轮的建设对于网站提文章目录 矩阵Solution73. 矩阵置零Solution54. 螺旋矩阵Solution48. 旋转图像Solution240. 搜索二维矩阵 II二叉树二叉树的四种遍历结果Solution94. 二叉树的中序遍历Solution104. 二叉树的最大深度Solution226. 翻转二叉树Solution101. 对称二叉树Solution543. 二叉树的直径S…

文章目录

  • 矩阵
    • Solution73. 矩阵置零
    • Solution54. 螺旋矩阵
    • Solution48. 旋转图像
    • Solution240. 搜索二维矩阵 II
  • 二叉树
    • 二叉树的四种遍历结果
    • Solution94. 二叉树的中序遍历
    • Solution104. 二叉树的最大深度
    • Solution226. 翻转二叉树
    • Solution101. 对称二叉树
    • Solution543. 二叉树的直径
    • Solution102. 二叉树的层序遍历
    • Solution108. 将有序数组转换为二叉搜索树
    • Solution98. 验证二叉搜索树
    • Solution230. 二叉搜索树中第 K 小的元素
    • Solution199. 二叉树的右视图
    • Solution114. 二叉树展开为链表
    • Solution105. 从前序与中序遍历序列构造二叉树
    • Solution437. 路径总和 III
    • Solution236. 二叉树的最近公共祖先

矩阵

Solution73. 矩阵置零

在这里插入图片描述

代码思路说明:假如矩阵是{1, 2, 3},{4, 0, 6},{7, 8, 9}第一次遍历矩阵,得到两个数组:zeroRows = [false, true, false],这个zeroRows记录需要置零的行,第二行需要置零zeroCols = [false, true, false],这个zeroCols记录需要置零的列,第二列需要置零第二次遍历矩阵,如果某个元素所在的行或列被标记为需要置零,则将该元素置为零;如元素4所在的行被标记为需要置零,则将该元素置为零
public class Solution {public static void setZeroes(int[][] matrix) {int m = matrix.length; // 矩阵的行数int n = matrix[0].length; // 矩阵的列数// 第一遍遍历,记录需要置零的行和列boolean[] zeroRows = new boolean[m]; // 记录需要置零的行boolean[] zeroCols = new boolean[n]; // 记录需要置零的列for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {if (matrix[i][j] == 0) {zeroRows[i] = true;zeroCols[j] = true;}}}// 第二遍遍历,根据记录的结果将对应行和列置为零for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {if (zeroRows[i] || zeroCols[j]) {matrix[i][j] = 0;}}}}// 测试函数public static void main(String[] args) {int[][] matrix = {{1, 2, 3},{4, 0, 6},{7, 8, 9}};System.out.println("原始矩阵:");printMatrix(matrix);setZeroes(matrix);System.out.println("处理后的矩阵:");printMatrix(matrix);}/*** 打印矩阵** @param matrix 待打印的矩阵*/public static void printMatrix(int[][] matrix) {for (int[] row : matrix) {for (int num : row) {System.out.print(num + " ");}System.out.println();}}
}

Solution54. 螺旋矩阵

这里是引用

 矩阵是:{1, 2, 3},{4, 5, 6},{7, 8, 9}①从左到右遍历,遍历了1->3  用matrix[top][i]其中top是0,而i是0,1,2②从从上到下遍历,遍历了6->9  用matrix[i][right]其中right是2,而i是1,2③从右到左遍历,遍历了8->7  用matrix[bottom][i]其中bottom是2,而i是1,0④从下到上遍历左边,遍历了7->4  用matrix[i][left]其中left是0,而i是2,1⑤从左到右遍历,遍历了4->5  用matrix[top][i]其中top是1,而i是0,1
public class Solution {public List<Integer> spiralOrder(int[][] matrix) {List<Integer> result = new ArrayList<>();if (matrix == null || matrix.length == 0 || matrix[0].length == 0) {return result; // 如果矩阵为空,则直接返回空列表}int rows = matrix.length;int cols = matrix[0].length;int left = 0, right = cols - 1;int top = 0, bottom = rows - 1;while (left <= right && top <= bottom) {// 从左到右遍历上边,遍历了1->3和最后的4->5for (int i = left; i <= right; i++) {result.add(matrix[top][i]);}top++;// 从上到下遍历右边,遍历了6->9for (int i = top; i <= bottom; i++) {result.add(matrix[i][right]);}right--;// 如果还有行需要遍历(注意此时top已经加1,所以要判断top-1是否小于等于bottom)if (top <= bottom) {// 从右到左遍历下边,遍历了8->7for (int i = right; i >= left; i--) {result.add(matrix[bottom][i]);}bottom--;}// 如果还有列需要遍历(注意此时right已经减1,所以要判断left是否小于等于right)if (left <= right) {// 从下到上遍历左边,遍历了7->4for (int i = bottom; i >= top; i--) {result.add(matrix[i][left]);}left++;}}return result;}// 主函数,用于测试public static void main(String[] args) {Solution spiralMatrix = new Solution();int[][] matrix = {{1, 2, 3},{4, 5, 6},{7, 8, 9}};List<Integer> result = spiralMatrix.spiralOrder(matrix);// 打印结果for (int num : result) {System.out.print(num + " ");}}
}

Solution48. 旋转图像

这里是引用

第一步:转置矩阵将矩阵的行变成列,列变成行。在代码中,通过遍历矩阵的上三角(包括对角线),并交换 matrix[i][j] 和 matrix[j][i] 来实现转置。1, 2             1, 33, 4   转置后变成  2, 4第二步:反转每一行遍历每一行,每一行数据都进行反转1, 3                  3, 12, 4   每一行反转后变成  4, 2如此变完成了旋转90度
public class Solution {// 主方法,用于测试public static void main(String[] args) {int[][] matrix = {{1, 2, 3},{4, 5, 6},{7, 8, 9}};rotate(matrix);// 打印旋转后的矩阵for (int[] row : matrix) {for (int num : row) {System.out.print(num + " ");}System.out.println();}}/*** 将二维矩阵原地顺时针旋转90度* @param matrix n × n 的二维矩阵*/public static void rotate(int[][] matrix) {int n = matrix.length;// 第一步:转置矩阵for (int i = 0; i < n; i++) {for (int j = i; j < n; j++) {// 交换matrix[i][j]和matrix[j][i]int temp = matrix[i][j];matrix[i][j] = matrix[j][i];matrix[j][i] = temp;}}// 第二步:反转每一行for (int i = 0; i < n; i++) {int left = 0, right = n - 1;while (left < right) {// 交换matrix[i][left]和matrix[i][right]int temp = matrix[i][left];matrix[i][left] = matrix[i][right];matrix[i][right] = temp;left++;right--;}}}
}

Solution240. 搜索二维矩阵 II

这里是引用

从矩阵的右上角或左下角开始搜索:从右上角开始搜索时,如果当前元素大于目标值,我们可以向左移动一列(因为左边的元素更小);如果当前元素小于目标值,我们可以向下移动一行(因为下边的元素更大)。这样,我们总是朝着可能包含目标值的方向移动,直到找到目标值或搜索到矩阵的边界为止。
public class Solution {// 主方法,用于测试public static void main(String[] args) {int[][] matrix = {{1, 4, 7, 11, 15},{2, 5, 8, 12, 19},{3, 6, 9, 16, 22},{10, 13, 14, 17, 24},{18, 21, 23, 26, 30}};int target = 5;boolean result = searchMatrix(matrix, target);System.out.println("目标值是否存在: " + result);}public static boolean searchMatrix(int[][] matrix, int target) {if (matrix == null || matrix.length == 0 || matrix[0].length == 0) {return false;}int m = matrix.length; // 矩阵的行数int n = matrix[0].length; // 矩阵的列数int row = 0; // 从第一行开始int col = n - 1; // 从最后一列开始while (row 
http://www.dtcms.com/wzjs/238837.html

相关文章:

  • 佛山网站建设专业公司东莞seo优化方案
  • 首页调用网站栏目id宁波网站制作设计
  • 余姚网站建设设计百度助手app下载安装
  • 做淘宝店铺装修的公司网站企业网站模板下载
  • 网站制作的要求谷歌排名推广公司
  • 网站内链有什么用小红书搜索优化
  • 什么空间可以做网站渠道推广有哪些方式
  • 政府网站建设做法微信管理
  • 建设b2c电子商务网站推广的十种方式
  • 广告设计专业烧钱吗宁波受欢迎全网seo优化
  • 长沙做网站最好的公司百度推广代理商查询
  • 无锡网站排名优化公司百度网站官网网址
  • 网络平面广告设计娄底地seo
  • 秦皇岛住建部官网福州短视频seo机会
  • 营销网站运营的基本环节百度官网app
  • 重庆做企业网站设计的公司百度收录官网
  • 广告加工厂seo云优化外包
  • php网站模板修改合肥做网络推广的公司
  • 科技网站设计seo学堂
  • 淘宝做网站费用最好用的系统优化软件
  • 做交通锁具网站深圳网络推广大师
  • 做it的中国企业网站学网络营销去哪个学校
  • 如何卸载和重装wordpressseo网站推广与优化方案
  • sage wordpress365优化大师软件下载
  • Wordpress 对比wagtailseo做什么网站赚钱
  • java做视频网站有哪些内容公关团队
  • 那个网站平台可以做兼职新闻发布最新新闻
  • 建设厅网站突然显示不全片多多可以免费看电视剧吗
  • 网站建设客服北京网络营销外包公司哪家好
  • wordpress 禁用更新seo完整教程视频教程