Leetcode 重塑矩阵

本文分享了一段Java代码,实现使用队列进行矩阵重塑的功能。通过将原矩阵的元素加入队列,再按顺序取出重塑成新矩阵,展示了队列的先进先出特性及LinkedList与Queue接口的应用。

这道题真的很花时间,我在做测试类就掉坑了,还爬不上来,(我太菜了)
内心独白
话不多说,代码如下
package bad;

import sun.management.snmp.jvmmib.EnumJvmMemManagerState;
import java.util.LinkedList;//引入util类中的LinkedList类
import java.util.Queue;//引入util类中的Queue类
/*Queue接口与List、Set同一级别,都是继承了Collection接口。
LinkedList实现了Queue接 口。BlockingQueue 继承了Queue接口。
队列是一种数据结构.它有两个基本操作:在队列尾部加人一个元素,和从队列头部移除一个元素
队列以一种先进先出的方式管理数据
1.add 增加一个元索 如果队列已满,则抛出一个IIIegaISlabEepeplian异常
2. remove 移除并返回队列头部的元素 如果队列为空,则抛出一个NoSuchElementException异常
3. element 返回队列头部的元素 如果队列为空,则抛出一个NoSuchElementException异常
4. offer 添加一个元素并返回true 如果队列已满,则返回false
5. poll 移除并返问队列头部的元素 如果队列为空,则返回null
6. peek 返回队列头部的元素 如果队列为空,则返回null
7. put 添加一个元素 如果队列满,则阻塞
8. take 移除并返回队列头部的元素 如果队列为空,则阻塞
/
public class reStore {
public int[][] matrixReshape(int[][] nums, int r, int c){
int[][] res=new int[r][c];//重组
if(nums.length==0||rc!=nums.lengthnums[0].length)
return nums;
int count=0;//这个好像没撒用
Queue queue=new LinkedList<>();
for(int i=0;i<nums.length;i++){//行
for(int j=0;j<nums[0].length;j++){//列
queue.add(nums[i][j]);
}
}
for(int i=0;i<r;i++){
for(int j=0;j<c;j++){
res[i][j]=queue.remove();
}
}
return res;

}
public static void main(String[] args){
 int[][] nums={{1,2},{3,4},{5,6}};
 int r=3;
 int c=2;
reStore s=new reStore();
int[][] a=s.matrixReshape(nums,r,c);
for(int i=0;i<a.length;i++){
    for(int j=0;j<a[i].length;j++){
    System.out.print(a[i][j]);
    }
    System.out.println();
}



}

}
老鸭子。有误有补充私我。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值