力扣每日一练之二维数组上篇 Day4
力扣每日一练之二维数组上篇 Day4
🍕前面的话🥞
大家好!本篇文章将介绍 2 周搞定数据结构的题,来自力扣的 566.重塑矩阵和 118.杨辉三角,本文将以这两道题作为背景,介绍经典的杨辉三角以及矩阵模拟,展示语言为 java(博主学习语言为 java)。今天呢,是博主开始刷力扣的第四天,如果有想要开始准备自己的算法面试的同学,可以跟着我的脚步一起,共同进步。大家都是并肩作战的伙伴,一起努力奋力前行,路漫漫其修远兮,吾将上下而求索,相信我们一定都可以拿到自己期望的 offer,冲冲冲!
👩💻博客主页:京与旧铺的博客主页
✨欢迎关注🖱点赞🎀收藏⭐留言✒
🔮本文由京与旧铺原创,csdn 首发!
😘系列专栏:java 学习
💻首发时间:🎞2022 年 5 月 2 日🎠
🎨你做三四月的事,八九月就会有答案,一起加油吧
🔏参考在线编程网站:🎧力扣
🀄如果觉得博主的文章还不错的话,请三连支持一下博主哦
🎧最后的话,作者是一个新人,在很多方面还做的不好,欢迎大佬指正,一起学习哦,冲冲冲
🏓导航小助手📻
[TOC]
图片
🎒LeetCode 566.重塑矩阵
在 MATLAB 中,有一个非常有用的函数 reshape ,它可以将一个 m x n 矩阵重塑为另一个大小不同(r x c)的新矩阵,但保留其原始数据。
给你一个由二维数组 mat 表示的 m x n 矩阵,以及两个正整数 r 和 c ,分别表示想要的重构的矩阵的行数和列数。
重构后的矩阵需要将原始矩阵的所有元素以相同的 行遍历顺序 填充。
如果具有给定参数的 reshape 操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。
> 示例 1: > > 输入:mat = [[1,2],[3,4]], r = 1, c = 4 > 输出:[[1,2,3,4]] > 示例 2: > > > 输入:mat = [[1,2],[3,4]], r = 2, c = 4 > 输出:[[1,2],[3,4]]
👗解题思路
原矩阵元素数量与重塑矩阵元素数量不等时直接输出原始矩阵。
给重塑矩阵一行一行加元素,每行元素数量达到 cc 时,行 +1+1。
🧢Leetcode 118 :杨辉三角
给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。
🎾解题思路
根据杨辉三角特性,每行除了第一个和最后一个元素是 1,其他元素是上一行当前列元素与上一行当前列的前一列元素的和
🌌总结
通过这两道题,我们学习了杨辉三角的特性和矩阵模拟,复习了数组和循环的知识,那么呢,期待一下下一篇文章吧,和我一起进步,每天努力多一些,迈出更大的一步
评论