当前位置:   article > 正文

华为OD机试 - 矩阵最大值(Java 2023 B卷 100分)_矩阵最大值java

矩阵最大值java

一、题目描述

给定一个仅包含0和1的N*N的二维矩阵,请计算二维矩阵的最大值

计算规则如下:

1、每行元素按下标顺序组成一个二进制数(下标越大越排在低位),二进制数的值就是该行的值。矩阵各行值之和为矩阵的值。

2、允许通过向左或向右整体循环移动每行元素来改变各元素在行中的位置。

比如:

[0,1,0,0,1]向右整体循环移动1位变为[1,0,1,0,0],二进制数为10100,值为20。

[1,1,0,1,1]向右整体循环移动2位变为[1,1,1,1,0],二进制数为11110,值为30。

二、输入描述

1、第一行输入一个正整数,记录N的大小。

2、接下来的N行输入二维矩阵信息,行内元素逗号隔开。

三、输出描述

矩阵的最大值。

四、解题思路

本题的核心思路就是:

1、遍历整个二位矩阵,通过右移的方式,找到当前行的最大值;
2、通过substring拼接的方式实现右移;

详细的解题思路:

  1. 第一行输入一个数字N,表示N*N的二维矩阵的大小;
  2. 接下来的N行输入,N行输入二维矩阵信息,行内元素逗号隔开;
  3. 以行为单位,遍历整个二维矩阵;
  4. 遍历二维矩阵的每一行数据,找到右移后,当前行的最大值;
  5. 将每一行的最大值累加ÿ
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/470123
推荐阅读
相关标签
  

闽ICP备14008679号