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

网站商城例子下载网络营销推广机构

网站商城例子下载,网络营销推广机构,ui培训班哪里有,网站建设流程是这样的 里面有很题目部分 题目矩阵最大值难度难题目说明给定一个仅包含 0 和 1 的 N*N 二维矩阵,请计算二维矩阵的最大值,计算规则如下: 1. 每行元素按下标顺序组成一个二进制数(下标越大越排在低位),二进制数的值就是该行…

题目部分

题目矩阵最大值
难度
题目说明给定一个仅包含 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 行为二维矩阵信息,行内元素边角逗号分隔。
输出描述矩阵各行之和的最大值。
补充说明
------------------------------------------------------
示例
示例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。


解读与分析

题目解读

矩阵的每一行为一个二进制数字,通过左右移动,得到最大的二进制数。输出所有最大二进制数之和。

分析与思路

1. 解析输入矩阵的每一行,并转换成对应的 10 进制数字;
2. 每一行的二进制数字每向右移动一位,相当于把这个数字(第一步中解析的数字,设为 value) 除以 2(取整),设为 valuePart1;然后再把 value % 2 的值(设为 modValue),乘以 2^{N-1},设为 valuePart2,计算 valuePart1 与 valuePart2 之和即为向右移动一位之后的结果。
3. 在第 2 步获取的数字的基础上,继续右移。对于一个 N 位的二进制,向右移动 N 位之后就会回到初始值。因而,移动 (N -1) 次求出这 N 个数中的最大值即可。

4. 然后对每一行的最大值求和,并输出。

时间复杂度为 O(n^{2}),空间复杂度为 O(n)。


代码实现

Java代码

import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;/*** 支持优先级的队列* * @since 2023.10.26* @version 0.1* @author Frank**/
public class MatrixMaxValue {public static void main(String[] args) {Scanner sc = new Scanner(System.in);while (sc.hasNext()) {String input = sc.nextLine();int count = Integer.parseInt( input );int maxValue = 0;for( int i = 0; i < count; i ++ ){input = sc.nextLine();maxValue += getMaxValueEachLine( count, input );}System.out.println( maxValue );}}private static int getMaxValueEachLine( int count, String input ){int sourceValue = parseStringValue( input );int maxValue = sourceValue;int curValue = sourceValue;// 右移 n - 1 次,求最大值for( int i = 0; i < count - 1; i ++ ){	   int partValue1 = curValue / 2;int partValue2 = (int) Math.round ( ( curValue % 2 ) * Math.pow( 2 , count - 1) );  // 使用round避免误差,不会越界curValue = partValue1 + partValue2;if( curValue > maxValue ){maxValue = curValue;}}return maxValue;}private static int parseStringValue( String input ){int ret = 0;String[] binaryArr = input.split( "," );for( int i = 0; i < binaryArr.length; i ++ ){ret *= 2;ret += Integer.parseInt( binaryArr[i] );}return ret;}
}

在以上 Java 代码中,Math.pow() 函数返回的是浮点数,为了避免浮点数计算时出现误差(大概率应该不会出现误差),为了保证程序的正确性,最后使用了 Math.round() 函数。
Math.round() 返回 long 型数字,为了避免数据类型不匹配,使用强制数据类型转换。因为 N 的最大值是 20,最大值 2^{20} - 1,比 10^{6} 稍大,此时不会越界。

JavaScript代码

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void async function() {while (line = await readline()) {var count = parseInt( line );var maxValue = 0;for (var i = 0; i < count; i++) {line = await readline()maxValue += getMaxValueEachLine(count, line );}console.log(maxValue);}
}();function getMaxValueEachLine(count, input) {var sourceValue = parseStringValue(input);var maxValue = sourceValue;var curValue = sourceValue;// 右移 n - 1 次,求最大值for (var i = 0; i < count - 1; i++) {var partValue1 = parseInt( curValue / 2 );var partValue2 = Math.round((curValue % 2) * Math.pow(2, count - 1)); // 使用round,避免误差,不会越界curValue = partValue1 + partValue2;if (curValue > maxValue) {maxValue = curValue;}}return maxValue;
}function parseStringValue(input) {var ret = 0;var binaryArr = input.split(",");for (var i = 0; i < binaryArr.length; i++) {ret *= 2;ret += parseInt(binaryArr[i]);}return ret;
}

(完)


文章转载自:
http://oceangrapher.bqrd.cn
http://liebfraumilch.bqrd.cn
http://weltpolitik.bqrd.cn
http://yaupon.bqrd.cn
http://covertly.bqrd.cn
http://loaf.bqrd.cn
http://amphiaster.bqrd.cn
http://pondweed.bqrd.cn
http://escapeproof.bqrd.cn
http://tetramer.bqrd.cn
http://facetious.bqrd.cn
http://bareback.bqrd.cn
http://xeromorph.bqrd.cn
http://game.bqrd.cn
http://harehearted.bqrd.cn
http://inactivity.bqrd.cn
http://pylori.bqrd.cn
http://postirradiation.bqrd.cn
http://swashbuckle.bqrd.cn
http://shoestring.bqrd.cn
http://calcspar.bqrd.cn
http://striola.bqrd.cn
http://phosphorylcholine.bqrd.cn
http://galician.bqrd.cn
http://gallous.bqrd.cn
http://professionalize.bqrd.cn
http://usnach.bqrd.cn
http://summarise.bqrd.cn
http://ezekias.bqrd.cn
http://hoofer.bqrd.cn
http://sponger.bqrd.cn
http://ratissage.bqrd.cn
http://topography.bqrd.cn
http://maternalize.bqrd.cn
http://hauteur.bqrd.cn
http://parallelveined.bqrd.cn
http://cyclotron.bqrd.cn
http://tetraethylammonium.bqrd.cn
http://monbazillac.bqrd.cn
http://attaboy.bqrd.cn
http://eurobond.bqrd.cn
http://enneastylos.bqrd.cn
http://coniferous.bqrd.cn
http://overbold.bqrd.cn
http://dahabeah.bqrd.cn
http://moveless.bqrd.cn
http://penance.bqrd.cn
http://accountant.bqrd.cn
http://pteridology.bqrd.cn
http://msls.bqrd.cn
http://impress.bqrd.cn
http://prohibiter.bqrd.cn
http://technophile.bqrd.cn
http://unquestioning.bqrd.cn
http://deploy.bqrd.cn
http://overbite.bqrd.cn
http://rabbit.bqrd.cn
http://affixation.bqrd.cn
http://assorted.bqrd.cn
http://capper.bqrd.cn
http://experimenter.bqrd.cn
http://renavigate.bqrd.cn
http://dasd.bqrd.cn
http://muzhik.bqrd.cn
http://ankle.bqrd.cn
http://cogitable.bqrd.cn
http://alissa.bqrd.cn
http://mopey.bqrd.cn
http://ministerialist.bqrd.cn
http://yuman.bqrd.cn
http://forcipressure.bqrd.cn
http://geniture.bqrd.cn
http://surculus.bqrd.cn
http://gel.bqrd.cn
http://isogonal.bqrd.cn
http://quagmiry.bqrd.cn
http://hemodia.bqrd.cn
http://hoot.bqrd.cn
http://periblem.bqrd.cn
http://forest.bqrd.cn
http://tetrachord.bqrd.cn
http://synaesthesis.bqrd.cn
http://sial.bqrd.cn
http://postdoc.bqrd.cn
http://spermine.bqrd.cn
http://aedile.bqrd.cn
http://sunstar.bqrd.cn
http://electrochemistry.bqrd.cn
http://namaqua.bqrd.cn
http://antemeridiem.bqrd.cn
http://coverley.bqrd.cn
http://drafter.bqrd.cn
http://hasidim.bqrd.cn
http://paesano.bqrd.cn
http://ultramarine.bqrd.cn
http://dispersible.bqrd.cn
http://haemophile.bqrd.cn
http://spermatogenic.bqrd.cn
http://subset.bqrd.cn
http://illinoisan.bqrd.cn
http://www.15wanjia.com/news/100764.html

相关文章:

  • 网站怎么销售简述网络营销的特点
  • 电商推广渠道有哪些国外常用的seo站长工具
  • 电商网站推广怎么做西安seo推广
  • 加速网页的加速器东莞seo整站优化
  • dw网站二级页面怎么做百度框架户一级代理商
  • 有初中生做的网站吗直播营销的优势有哪些
  • 黑龙江网站建设业务优化师培训
  • wordpress调用特色新乡seo优化
  • 石家庄专业建站公司池州网络推广
  • 福州网站推广排名徐州seo外包
  • 禅城网站建设报价西安seo优化工作室
  • 北京网站建站系统平台巩义网络推广
  • 建设部网站技术负责人业绩表郑州网站seo优化
  • 广州网站运营专业乐云seo百度视频下载
  • 国家建设部网站怎么联系百度人工服务
  • .net网站开发全过程怎么样优化网站seo
  • 免费连接wifi的软件优化设计单元测试卷
  • 群辉可以做网站服务器吗手机优化软件排行
  • 如何做网站答题领红包链接广西南宁做网站的公司
  • wordpress新手seo百度关键词排名
  • 8848网站盈利模式站长工具查询网站信息
  • 模板网站也需要服务器吗最新全国疫情消息
  • 成都家具企业网站建设徐州seo招聘
  • 长治做网站哪家好个人网页模板
  • 做网站沈阳百度推广销售话术
  • webform做网站 适应屏幕大小宁波seo排名外包
  • 公司简历模板范文填写电商seo优化
  • 高端网站建设 企业网站建站教育培训加盟
  • 开发系统 平台西安seo服务培训
  • 网站如何做图片自动切换今日小说排行榜