【华为OD机试 】矩阵最大值(C++ Java JavaScript Python)

华为od机试共有3道题,分值为100+100+200,总分为400分。考试时间 2.5h。。每道题目都需要通过测试用例来得分,全通过则为满分。华为od机试是在牛客网上进行的,采用ACM模式。华为od机试目标院校分数为160分,华为od机试非目标院校,则至少300+ 华为od机试会考到很多原题。对于算法较差的同学,建议购买。 包含2023的华为od机试最新题库以及2022的华为od机试老题库,所有题目都提供了使用C++ Java JavaScript 以及python实现详细的解法。

题目描述

给定一个仅包含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。

输入描述

1、输入的第一行为正整数,记录了N的大小,0 < N <= 20。 2、输入的第2到N+1

经验分享 程序员 微信小程序 职场和发展