牛客网---2016---搜狗矩阵元素相乘
来源:互联网 发布:江恩正方软件 编辑:程序博客网 时间:2024/05/21 11:51
恩,该减肥了,啧啧,很难受,坚持不住,啧啧。对了,上周六的烤鱼很棒,很好吃,啧啧。
题目:
A[n,m]是一个n行m列的矩阵,a[i,j]表示A的第i行j列的元素,定义x[i,j]为A的第i行和第j列除了a[i,j]之外所有元素(共n+m-2个)的乘积,即x[i,j]=a[i,1]a[i,2]…a[i,j-1]…*a[i,m]*a[1,j]*a[2,j]…*a[i-1,j]*a[i+1,j]…*a[n,j],现输入非负整形的矩阵A[n,m],求MAX(x[i,j]),即所有的x[i,j]中的最大值。
输入:
第一行两个整数n和m。之后n行输入矩阵,均为非负整数。
3 55 1 8 5 21 3 10 3 37 8 5 5 16
输出:
一行输出答案。
358400
解析:
1. 如果按照我最开始的大脑考虑这个问题的话,那么就是最基本的两个for循环遍历所有数据,然后嵌套两个for循环计算所有结果,啧啧,4个for循环的嵌套很可怕的。
2. 那么就可以考虑别的方法,实质上,首先创建一个结果数组,然后读取一个数据,对应乘在相应的位置上就能极大地减少复杂度。
解题所需函数:
1 . Arrays.fill函数
fill() 方法中没有 fill( float, float) 的方法,只有fill( float[], float) 方法。
另外呢,他是整个数组用同一个数值来填充,打个比方
// 用同一个数值来填充,而不是全部都是随机数Float[] weight = new float[10];java.util.Arrays.fill( weight, (float)(100*Math.random() + 60));
2 . 最大值最小值,之前也说过
int max = Integer.MIN_VALUE;int min = Integer.MAX_VALUE;
代码:
import java.util.Arrays;import java.util.Scanner;public class Main { public static void main(String[] args){ // 创建Scanner Scanner scan = new Scanner(System.in); // 常规操作 while(scan.hasNext()){ // 首先获取矩阵的行数和列数 int n = scan.nextInt(); int m = scan.nextInt(); // 创建数组并填充数据 int[][] help = new int[n][m]; for(int i=0;i<n;i++) Arrays.fill(help[i], 1); // 双循环遍历记录数组,并乘在对应项 for(int i =0;i<n;i++){ for(int j=0;j<m;j++){ int value = scan.nextInt(); int tmp; for(tmp=0;tmp<i;tmp++) help[tmp][j]*=value; for(tmp=i+1;tmp<n;tmp++) help[tmp][j]*=value; for(tmp=0;tmp<j;tmp++) help[i][tmp]*=value; for(tmp=j+1;tmp<m;tmp++) help[i][tmp]*=value; } } // 双循环遍历 获得最大值 int max = Integer.MIN_VALUE; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(help[i][j]>max) max = help[i][j]; } } System.out.println(max); } scan.close(); }}
阅读全文
0 0
- 牛客网---2016---搜狗矩阵元素相乘
- 搜狗 矩阵元素相乘
- 矩阵元素相乘
- 矩阵元素相乘
- 矩阵元素相乘
- 矩阵元素相乘----搜狗2016研发工程师编程题
- 搜狗2016研发工程师笔试(矩阵元素相乘)
- 搜狗2016招聘笔试题<矩阵元素相乘>Java代码(
- 华为机试---矩阵元素相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 剑指offer——二维数组的查找
- Excel工作表默认都是手动一个个表的修改内容如何批量一次性修改
- 程序29
- 那些问题的神回复(一)
- android 笔迹重绘 demo
- 牛客网---2016---搜狗矩阵元素相乘
- JDK1.8源码分析之Comparable && Comparator(九)
- tensorflow--滑动平均模型
- 一分钟了解"matlab给图片加噪声imnoise"
- Mark 概率图模型PGM和马尔科夫随机场MRF
- ElasticSearch入门 第一篇:Windows下安装ElasticSearch
- Android开发集成第三方支付
- 存储过程的简单介绍
- 修改node.js默认的npm安装目录