| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 【阅后笔记】英雄哥的《LeetCode零基础指南》(第八讲) 二维数组 -> 正文阅读 |
|
[数据结构与算法]【阅后笔记】英雄哥的《LeetCode零基础指南》(第八讲) 二维数组 |
到矩阵了!!真的很巧,前几天我刷CSP真题的时候才刚刚做到一个矩阵翻转的题,这就是缘分吧。话不多说,开始! 目录 一、笔记1.矩阵的定义?2.矩阵水平翻转把每一行进行逆序。实现代码(仅展示变换部分的代码):
3.矩阵垂直翻转把每一列进行逆序。
4.矩阵的顺时针翻转这个我是通过列表,找规律得出来的,也不知道有没有出错,望指正。
?5.矩阵的逆时针翻转等于顺时针翻转270°,也就是4.执行三次 6.矩阵转置?就直接是 i j 互换
?7.二维数组用二维数组来表示矩阵(行可省,列不可省) ? 8.二维数组索引从零开始计数!! 9.二维数组的函数传参两个*(要注意的是,他比一维数组多一个维度,所以我们也要多传一个参,重点在于搞清楚第三个参数的含义) ?利用矩阵每一列元素都是一样的特性,把变量命名简单化: 二、题解1.统计有序矩阵中的负数?这题so easy 没什么好讲的啦 2.矩阵对角元素的和?这题首先看题目就觉得好绕啊,但是自己画画图就懂了 两部分的和要分开来求,不然就会弄混淆 。 3.最富有客户的资产总量就是一个找最大值的问题,只不过套上了一个二维数组的外壳。 (因为这里没说要输出客户的编号,所以我就没搞编号了,我真懒) 4.托普利茨矩阵?这道题的思路蛮难想的,关键在于还要重新设置一个函数,这一点就十分巧妙 先膜拜大佬: ?但是我还看到了一种非常简洁的解法,就是直接判断他和左上角的数是否相等,我认为该英雄哥是考虑得比较细,吧可能的情况列出来了,然后下面这种做法就是一种通法,比较概括。(还有的差别就是时间复杂度了,英雄哥应该是在这方面做出了优化) 5.矩阵中的幸运数这一块原理不难,只是操作起来的时候很容易犯一些小错误,以下是我觉得要注意的点: 1)第9行 不要忘了malloc 不然没人知道你的 ret 是什么; 2)第23行 要记得初始化下标;然后27行的赋值使用得很巧妙,喜欢) 3)最后就是这里的变量比较多,在循环的时候不要把自己绕晕了,要非常清楚每一个操作对应的含义,还有要仔细检查拼写!! 6.二进制矩阵中的特殊位置英雄哥的解答:(搞一个函数出来,这样main就不会显得太杂了,真好) ?易错点: 2)注意自己有没有定义r,c 以及搞清楚每个临界范围的变量含义 7.岛屿的周长这题我看不懂orz ? 以下题解来自力扣官方:
?这是一道抽象模型的题目,需要一点抽象的理解力,我再想想吧! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/10 2:00:30- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |