通过率 80% · 提交 161 · 通过 128
小慕有一个仅包含0和1的N*N二维矩阵,他需要计算这个矩阵的最大值,计算规则如下: 1. 每行元素按下标顺序组成一个二进制数(),这个二进制数的值就是该行的值,矩阵各行值之和就是矩阵的值。 2. 小慕可以对每行元素进行向左或向右的,从而改变各元素在行中的位置。例如: [1,0,1,1,1]向右整体循环移动2位变为[1,1,1,0,1],对应的二进制数为11101,值为29; [1,0,1,1,1]向左整体循环移动2位变为[1,1,1,1,0],对应的二进制数为11110,值为30。
这类题属于华为 OD 机考真题方向中「100分 / 数学」方向的高频题型,通常考察对「100分 / 数学」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
1、输入的第一行为正整数,记录了N的大小,0 < N <= 20
2、输入的第2到N+1行为二维矩阵信息,行内元素 边角逗号分隔。
矩阵的最大值。
示例 1
输入示例
5 1,0,0,0,1 0,0,0,1,1 0,1,0,1,0 1,0,0,1,1 1,0,1,0,1
输出示例
122
第一行向右整体循环移动1位,得到本行的最大值[1,1,0,0,0],二进制值为11000,十进制值为24。 第二行向右整体循环移动2位,得到本行的最大值[1,1,0,0,0],二进制值为11000,十进制值为24。 第三行向左整体循环移动1位,得到本行的最大值[1,0,1,0,0],二进制值为10100,十进制值为20。 第四行向右整体循环移动2位,得到本行的最大值[1,1,1,0,0],二进制值为11100,十进制值为28。 第五行向右整体循环移动1位,得到本行的最大值[1,1,0,1,0],二进制值为11010,十进制值为26。 因此,矩阵的最大值为122.
时间限制 1000 ms · 内存限制 128 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有