【华为OD机试真题 Python】二维矩阵最大值

前言:本专栏将持续更新华为OD机试题目,并进行详细的分析与解答,包含完整的代码实现,希望可以帮助到正在努力的你。关于OD机试流程、面经、面试指导等,如有任何疑问,欢迎联系我,wechat:steven_moda;email:[email protected];备注:CSDN。

题目描述

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

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

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

    比如:[1,0,1,1,1] 向右整体循环移动两位 [1,1,1,0,1],二进制数为11101 值为29。
    [1,0,1,1,1] 向左整体循环移动两位 [1,1,1,1,0],二进制数为11110 值为30。

输入描述

  1. 数据的第一行为正整数,记录了N的大小,0
  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,

你可能感兴趣的:(华为OD机试真题详解,华为OD机试真题,Python实现,java,面试,数据结构与算法,华为OD机试)