Java不规则二维数组的倒序存储(其中一维数组的长度不一样)

如果只是动态的初始化数组还是比较简单的,网上有很多的案例。

代码背景
在这里插入图片描述
这是本新最近面试中遇到的题目,因为一个小时要干完四张的题目,很多需要手写代码太变态。这个题目在最后没来及写。需要原题的小伙伴可以下载去,还有一些最近遇到的面试问题总结和答案。
链接:https://pan.baidu.com/s/1wtB_-aHu-9YDtRpf54_F_Q
提取码:x47t

这个是元素数组长度不一样的情况。中间需要动态的初始化元素数组

就是 int[][] = new int[3][];第二个不给值,到用的时候,根据原数组的长度动态的给值。
给值的时候:比如给第一个元素赋值大小的时候 newArr[1] =new int[xx]; xx就是大小int值

 int[][] arr = {{1,4, 2, 3}, {4, 6,4,5,5, 6}, {7, 8,9,10}};
        int[][] newArr = new int[arr.length][];
        for (int i = 0; i < arr.length ; i++) {
            //把arr数组的最后一个数据的长度符给newArr的第一个元素数组
            newArr[arr.length -1- i] =new int[arr[i].length];
            for (int j = 0; j < arr[i].length; j++) {
                newArr[arr.length - 1 - i][arr[i].length-j-1] = arr[i][j];
            }
        }
        for (int[] ar : newArr) {
            System.out.println(Arrays.toString(ar));
        }

运行的结果是:

[10, 9, 8, 7]
[6, 5, 5, 4, 6, 4]
[3, 2, 4, 1]

Process finished with exit code 0

到这里这样题目就很简单了,上面的代码是题目的升级版,

题目的题就可以把动态初始化的那一步省略,代码不够简洁。也作为自己的一个记录

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值