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

博客网站建设方案wordpress 插件报错

博客网站建设方案,wordpress 插件报错,邯郸网站建设服务,网址推荐你会感谢我的题目来源:力扣 此解法是在力扣官网上找到的 原作者:Storm 链接:1424. 对角线遍历 II - 力扣(LeetCode) 加上了自己的理解与分析便于理解代码 // 对角线遍历2// 给你一个列表 nums ,里面每一个元素…

题目来源:力扣

此解法是在力扣官网上找到的

原作者:Storm

链接:1424. 对角线遍历 II - 力扣(LeetCode)

加上了自己的理解与分析便于理解代码

//    对角线遍历2//    给你一个列表 nums ,里面每一个元素都是一个整数列表。//    请你依照下面各图的规则,按顺序返回 nums 中对角线上的整数。​//    每一个子列表代表一行,不同行的长度可能不同public static int[] findDiagonalOrder(List<List<Integer>> nums) {List<int[]> list = new ArrayList<int[]>();int rows = nums.size();for (int i = 0; i < rows; i++) {List<Integer> rowList = nums.get(i);int cols = rowList.size();for (int j = 0; j < cols; j++) {int num = rowList.get(j);list.add(new int[]{i + j, j, num});}}Collections.sort(list, (a, b) -> {if (a[0] != b[0]) {return a[0] - b[0];} else {return a[1] - b[1];}});int size = list.size();int[] order = new int[size];for (int i = 0; i < size; i++) {order[i] = list.get(i)[2];}return order;}

代码详细解释

1. 定义类和方法
 class Solution {public int[] findDiagonalOrder(List<List<Integer>> nums) {
  • 定义了一个名为 Solution 的类。

  • 定义了一个公共方法 findDiagonalOrder,它接收一个嵌套列表 nums 作为参数,并返回一个整数数组。

2. 创建存储元素信息的列表
List<int[]> list = new ArrayList<int[]>();int rows = nums.size();
  • 创建了一个 List<int[]> 类型的 list,用于存储每个元素的信息。每个元素信息用一个长度为 3 的整数数组表示,分别存储 i + jj 和元素值。(用于后面排序)

  • rows 变量存储了嵌套列表的行数。

3. 遍历嵌套列表
 for (int i = 0; i < rows; i++) {List<Integer> rowList = nums.get(i);int cols = rowList.size();for (int j = 0; j < cols; j++) {int num = rowList.get(j);list.add(new int[]{i + j, j, num});}}
  • 外层循环遍历每一行,获取当前行的子列表 rowList 以及当前行的列数 cols

  • 内层循环遍历当前行的每一列,获取当前元素 num,并将 [i + j, j, num] 存储到 list 中。

4. 对元素信息列表进行排序(重点排序)
Collections.sort(list, (a, b) -> {if (a[0] != b[0]) {return a[0] - b[0];} else {return a[1] - b[1];}});
  • 使用 Collections.sort 方法对 list 进行排序。

  • 排序规则是:先比较元素的 i + j 值(即 a[0]b[0]),若不相等,则按照 i + j 从小到大排序;若相等,则比较列索引 j(即 a[1]b[1]),按照列索引从小到大排序。

5. 创建结果数组并存储排序后的元素
 int size = list.size();int[] order = new int[size];for (int i = 0; i < size; i++) {order[i] = list.get(i)[2];}
  • size 存储了 list 的大小,即元素的总数。

  • 创建一个长度为 size 的整数数组 order

  • 遍历 list,将每个元素信息数组中的第三个元素(即元素值)存储到 order 数组中。

6. 返回结果数组
 return order;
  • 返回存储排序后元素的数组 order

复杂度分析

  • 时间复杂度O(Nlog**N),其中 N 是嵌套列表中元素的总数。主要时间开销在于对 list 进行排序。

  • 空间复杂度O(N),主要空间开销在于存储元素信息的 list 和结果数组 order

有更好的解法,欢迎评论或私信

http://www.dtcms.com/a/552047.html

相关文章:

  • 做门窗安装去哪些网站找生意中国菲律宾篮球
  • 专业建网站设计公司中电科工程建设有限公司网站
  • 如何套用wordpress的源码邢台seo推广
  • 上海电子商城网站制作免费培训机构
  • html网站 怎么做seo肃宁县做网站
  • 企业建站报价微信网站是多少钱一年
  • 网站域名做链接怎么做章贡网站建设
  • 南京优化网站好看的网站建设公司
  • 使用php的大型网站天津建设协会网站
  • html5手机网站开发框架android最新版本
  • 石家庄网站制作长沙广告拍摄制作公司
  • 开发一套软件app苏州企业网站关键词优化
  • 口腔医院网站开发企业设计网站
  • 用wordpress编写网站图文广告加盟哪家好
  • 百度自己网站排名wordpress 获取备案号
  • 易语言如何做验证系统官方网站网站宽屏
  • 做摄影网站河北石家庄有什么好玩的地方
  • 做咩有D网站响网吧上不了jsp做网站用什么封装字符串
  • 网站设计制作费一元购网站的建设
  • 建设一个小说网站的步骤网络优化的内容包括哪些方面
  • 做医药行业找药的网站百度seo公司哪家强一点
  • 吉林大学学院网站建设群手机网站大全网站
  • 集团网站建网站管理系统制作软件下载
  • 制作网站民治唐山建设造价信息网的网站
  • 做网站用的字体是什么wordpress 删除revision
  • wordpress 切换域名青岛网站优化公司
  • 杭州建设网站的公司哪家好母版页做网站例子
  • 环球培训机构官网seodg官网
  • 深圳坪山站linux做网站1G内存够不
  • 中国建设企业网站保定商城网站建设