LeetCode二维数组中如何实现对角线遍历
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要介绍LeetCode二维数组中如何实现对角线遍历,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!题目描述:"给定一个含有M*N个元素的矩阵,请以对角线遍历的顺序返回矩
千家信息网最后更新 2025年02月01日LeetCode二维数组中如何实现对角线遍历
这篇文章主要介绍LeetCode二维数组中如何实现对角线遍历,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
题目描述:"给定一个含有M*N个元素的矩阵,请以对角线遍历的顺序返回矩阵中的元素"
(矩阵中元素<=10000)
示例:
matrix=[[1, 2, 3],[4, 5, 6],[7, 8, 9],]
[1, 2, 4, 7, 5, 3, 6, 8, 9]
算法思路
寻找元素遍历的规律
按照对角线将元素划分,你会发现一些规律:
将每一个对角线上的元素各自看成一组,对角线数组的个数如下: (len(matrix)+len(matrix[0])-1) 如果将对角线数组从左向右数,你会发现 第偶数个对角线数组 在读取时应该 逆序 读取 最终要的规律:在同一个对角线数组中的元素下标之后相等
算法步骤:
先按照矩阵遍历的正常顺序遍历元素,过程中计算元素 下标和 将下标和一样的元素存入对应的对角线数组中(设置一个 二维数组 存储对角线数组) 同时要注意: 二维数组中每一个一维数组的对应下标其实正好就等于之前计算的元素下标记和 遍历完成后,将对角线二维数组中的一维数组再添加到函数最后要返回的数组中。其中要进行判断: 第偶数个数组要逆序读取
本文由"壹伴编辑器"提供技术支持
注意:
一定要判断输入为 空 的情况 输入可没说一定是方阵,所以在自己举例推导时不要取特殊情况 既然所有元素最终都要返回,那就先把每个都考虑进单个数组,最后再排序
本文由"壹伴编辑器"提供技术支持
二维数组的创建问题
创建二维数组的坑
本文题目在之前的算法中一直这样创建二维数组:
diagonal_list = [[]*(len(matrix)+len(matrix[0]-1)]
但是一直报错
原来二维数组的创建有坑!!!!!!!!
a = [ []*3 ]
a[0].append(1)
>>> a=[ [1], [1], [1] ]
都变成1了,可明明仅设置了第一个数组呀?????
原来:在创建一个如果利用乘法创建二维数组的话,或者不是二维数组,仅仅是一维数组乘以n,乘法代表的是引用,后面不论多少个数组都是引用第一个数组
正确的创建方法:利用for循环
a = [] for i in range(n)
以上是"LeetCode二维数组中如何实现对角线遍历"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
数组
对角
对角线
元素
二维
下标
矩阵
个数
算法
规律
一维
乘法
偶数
内容
情况
技术
技术支持
篇文章
编辑器
逆序
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库自动备份到其他电脑
计算机网络技术一月工资
防火墙在网络安全的作用
文顶网络技术服务官方帐号
服务器2.5寸改3.5寸
军人手机网络安全体会
芯片软件开发工程师招聘
网络安全靠大家班队活动
中国人寿软件开发工资待遇
本地怎么调试服务器的web
软件开发自学机构
浙江放心选软件开发问答知识
泉州天际软件开发
方舟怎么让好友加入我的服务器
许可服务器无法启动
网络安全培训班新闻稿
服务器集群介绍
frp外网服务器配置
php服务器脚本程序
如何做一个商业发票的数据库
中华人民共和国数据库怎么用
耕地质量等别数据库图层代码
服务器如何防御
emq服务器
台湾电子书数据库怎么注册
大连梯耐德网络技术公司王总
现在最新的网络安全手抄报
安装数据库临时位置
文件服务器有点
我国维护网络安全原则