莞城网站建设公司,wordpress设置数据库密码,网络推广合作资源平台,外贸营销主题怎么写题目描述 给定一个仅包含0和1的n*n二维矩阵 请计算二维矩阵的最大值 计算规则如下 
每行元素按下标顺序组成一个二进制数(下标越大约排在低位)#xff0c; 二进制数的值就是该行的值#xff0c;矩阵各行之和为矩阵的值 
允许通过向左或向右整体循环移动每个元素来改变元素在行…题目描述 给定一个仅包含0和1的n*n二维矩阵 请计算二维矩阵的最大值 计算规则如下 
每行元素按下标顺序组成一个二进制数(下标越大约排在低位) 二进制数的值就是该行的值矩阵各行之和为矩阵的值 
允许通过向左或向右整体循环移动每个元素来改变元素在行中的位置 比如 [1,0,1,1,1]向右整体循环移动两位[1,1,1,0,1] 二进制数为11101值为29 [1,0,1,1,1]向左整体循环移动两位[1,1,1,1,0] 二进制数为11110值为30 输入描述 数据的第一行为正整数记录了N的大小0  N  20 输入的第2到n1行为二维矩阵信息行内元素边角逗号分割 输出描述 矩阵的最大值 示例一 输入 
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  说明 
第一行向右整体循环移动一位11000得到最大值  24 第二行向右整体循环移动两位11000得到最大值  24 第三行向右整体循环移动一位10100得到最大值  20 第四行向右整体循环移动两位11100得到最大值  28 第五行向右整体循环移动一位11010得到最大值  26 
因此最大122  package com.tarena.test.B10; 
import java.util.Arrays; import java.util.LinkedList; import java.util.List; import java.util.Scanner; import java.util.stream.Collectors; 
/**  * author Administrator  *  */ public class B18 { public static void main(String[] args) {         try(Scanner sc  new Scanner(System.in)){             int lineNum  Integer.parseInt(sc.nextLine());             ListString list  new LinkedList();             for(int i0;ilineNum;i) {                 list.add(sc.nextLine());             }             System.out.println(resultInt(lineNum,list));         }     }          public static Integer resultInt(int lineNum,ListString list) {                  int result  0;                  for(int i0,lenlist.size();ilen;i) {             LinkedListInteger intList  Arrays.stream(list.get(i).split(,))                     .map(Integer::parseInt)                     .collect(Collectors.toCollection(LinkedList::new));             int max  getVal(intList);             for(int j0,len2intList.size();jlen2;j) {                 intList.addFirst(intList.removeLast());                 max  Math.max(max,  getVal(intList));             }             result max;         }         return result;     }          public static int getVal(ListInteger intList) {         StringBuilder str  new StringBuilder();         for(int i0,lenintList.size();ilen;i) {             str.append(intList.get(i));         }         return Integer.parseInt(str.toString(), 2);     }      } 了解知识点 
1 Integer 类内parseInt 方法的使用 
2 Math 类的使用 
3 LinkedList addaddFirst,remove,removeLast 等方法的区别