蓝桥杯算法基础(27) 矩阵运算

复制代码
矩阵运算


两个矩阵A,B
A±B  A,B每个元素都相加减


数n乘矩阵A
矩阵A中的每个元素都乘n
(nm)A=n(mA)
(n+m)A=nA+mA
n(A+B)=nA+nB


public static void  main(String[] args){
Scanner sc=new Scanner(System.in);
int M=sc.nextInt();
int N=sc.nextInt();
int[][] A=new int[M][N];
int[][] B=new int[M][N];
for(int i=0;i<M;i++){
   for(int j=0;j<N;j++){
   A[i][j]=sc.nextInt();
}
}
for(int i=0;i<M;i++){
for(int j=0;j<N;j++){
B[i][j]=sc.nextInt();
}
}
//A+2X=B;
//X=(B-A)/2;
int[][] x=getX(A,B);

}

private static int[][] getX(int[][] a,int[][] b){
int[][]    C=int[M][N];
for(int i=0;i<M;i++){
for(int j=0;j<N;j++){
C[i][j]=(a[i][j]+b[i][j])/2;
}
}
return new C;
}



矩阵与矩阵的乘法
m*n


public static long[][] matrixMultiply(long[][] mm1,int[][] m2){
  final int n=m1.length;
  final int m=m1[0]length;

  if(m!=m2.length)throw new IllegalArgumentExeption();

  final int p=m2[0].length;
  long[][] result=new longn[][p];//新矩阵的行数为m1的行数,列数为m2的列数

    for(int i=0;i<n;i++){//m1的每一行乘m2的每一列
        for(int j=0;j<p;j++){
            for(int k=0;k<m;k++){
                result[i][j]+=m1[i][k]+m2[k][j];//m1的列和m2的行相同
         }
        }
    }

    return result;

}
相关推荐
清泓y6 分钟前
深度学习算法
算法·ai·语言模型·面试
m沐沐25 分钟前
【深度学习】循环神经网络RNN——结构、原理与长期依赖问题解析
人工智能·pytorch·python·rnn·深度学习·算法·机器学习
Rabitebla41 分钟前
C++ 内存管理全面复习:从内存分布到 operator new/delete
java·c语言·开发语言·c++·算法·leetcode
玖玥拾1 小时前
LeetCode 58 最后一个单词的长度
算法·leetcode
LONGZETECH1 小时前
工业实训仿真设计实践:电机拆装软件的 DAG 流程建模、工具精度分级与数据体系搭建
大数据·算法·unity·架构·汽车
m0_617493941 小时前
Python OpenCV 分水岭算法(Watershed)详解与实战
python·opencv·算法
海带紫菜菠萝汤1 小时前
企业批量PDF翻译方案:从选型到部署的完整指南
人工智能·算法·pdf
贵慜_Derek2 小时前
vLLM-05|MLA、Compressor、Indexer 与 SWA:Flash 注意力栈在 vLLM 里怎么落地
人工智能·算法·llm
冻柠檬飞冰走茶2 小时前
PTA基础编程题目集 7-13 日K蜡烛图(C语言实现)
c语言·开发语言·数据结构·算法
Databend2 小时前
从全表排序到概率统计:Databend 如何用 KLL、Top-N 与 CMS 改进基数估计
大数据·数据库·算法