当前位置: 首页 > news >正文

公司想推广做网站有用google手机官网

公司想推广做网站有用,google手机官网,电商 网站建设文字,加速wordpress插件题目描述 给定一个仅包含0和1的n*n二维矩阵 请计算二维矩阵的最大值 计算规则如下 每行元素按下标顺序组成一个二进制数(下标越大约排在低位), 二进制数的值就是该行的值,矩阵各行之和为矩阵的值 允许通过向左或向右整体循环移动每个元素来改变元素在行…

题目描述
给定一个仅包含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到n+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 
说明

第一行向右整体循环移动一位(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());
            List<String> list = new LinkedList<>();
            for(int i=0;i<lineNum;i++) {
                list.add(sc.nextLine());
            }
            System.out.println(resultInt(lineNum,list));
        }
    }
    
    public static Integer resultInt(int lineNum,List<String> list) {
        
        int result = 0;
        
        for(int i=0,len=list.size();i<len;i++) {
            LinkedList<Integer> intList = Arrays.stream(list.get(i).split(","))
                    .map(Integer::parseInt)
                    .collect(Collectors.toCollection(LinkedList::new));
            int max = getVal(intList);
            for(int j=0,len2=intList.size();j<len2;j++) {
                intList.addFirst(intList.removeLast());
                max = Math.max(max,  getVal(intList));
            }
            result +=max;
        }
        return result;
    }
    
    public static int getVal(List<Integer> intList) {
        StringBuilder str = new StringBuilder();
        for(int i=0,len=intList.size();i<len;i++) {
            str.append(intList.get(i));
        }
        return Integer.parseInt(str.toString(), 2);
    }
    
}
了解知识点

1 Integer 类内parseInt 方法的使用

2 Math 类的使用

3 LinkedList add,addFirst,remove,removeLast 等方法的区别

http://www.masaee.cn/news/208.html

相关文章:

  • 建一个独立站多少钱seo关键词排名优化工具
  • 怎样做软件网站建设网络营销课程
  • 哪个网站做公司业务广告效果好昆明网络营销公司哪家比较好
  • 手机设置管理网站软件开发需要学什么
  • 台湾做网站营销文案
  • 广告页面模板网站推广网站排名优化seo教程
  • 汕头市住房和城乡建设局网站百度云搜索引擎入口盘搜搜
  • seo站长查询怎样创建自己的电商平台
  • 初中毕业想学动漫专业郑州seo排名第一
  • 平邑网站制作打开百度官网
  • 郑州手机网站建设公司新网站友链
  • 人大建设网站苏州网站维护
  • 成都网站建设 四川冠辰性价比高seo的排名优化
  • 哪里找做网站的客户sem竞价推广公司
  • 网站动效是代码做的吗竞价账户
  • 科学做视频网站如何做网络销售产品
  • 学做网站快吗seo网络推广到底是做什么的
  • 荥阳网站建设公司seo超级外链发布
  • 云盘可以做网站吗南京seo报价
  • 网站建设遇到的问题及解决方法优化人员配置
  • 网站建设编程seo零基础入门到精通200讲
  • p2p网站建设要多少钱app开发平台开发
  • 怎么做网站内部搜索功能链接购买
  • 开通招聘网站如何做分录百度app下载最新版
  • 大连网站制作中企动力免费的拓客平台有哪些
  • 网页显示网站正在建设中怎么做重庆seo招聘
  • 专业建设网站应该怎么做2345网址导航怎么下载
  • 河南网站建设途径有什么网站提交收录
  • 网站怎么做百度排名爱站关键词搜索
  • 网站底部有很多图标app代理推广合作50元