牛客NC143 矩阵乘法【中等 矩阵 C++/Java/Go/PHP】

题目

在这里插入图片描述
题目链接:
https://www.nowcoder.com/practice/bf358c3ac73e491585943bac94e309b0

思路

 矩阵算法在图像处理、神经网络、模式识别等领域有着广泛的用途。在矩阵乘法中,A矩阵和B矩阵可以做乘法运算必须满足A矩阵的列的数量等于B矩阵的行的数量。运算规则:A的每一行中的数字对应乘以B的每一列的数字把结果相加起来。参考下面的链接https://blog.csdn.net/Lyon_yong/article/details/129474027https://blog.csdn.net/why1472587/article/details/125080048

参考答案C++

class Solution {public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param a int整型vector<vector<>> 第一个矩阵* @param b int整型vector<vector<>> 第二个矩阵* @return int整型vector<vector<>>*/vector<vector<int> > solve(vector<vector<int> >& a, vector<vector<int> >& b) {/*矩阵算法在图像处理、神经网络、模式识别等领域有着广泛的用途。在矩阵乘法中,A矩阵和B矩阵可以做乘法运算必须满足A矩阵的列的数量等于B矩阵的行的数量。运算规则:A的每一行中的数字对应乘以B的每一列的数字把结果相加起来。参考下面的链接https://blog.csdn.net/Lyon_yong/article/details/129474027https://blog.csdn.net/why1472587/article/details/125080048*/int arows = a.size(), acols = a[0].size();int brows = b.size(), bcols = b[0].size();//c=a*b  c的行数=a的行数 c的列数=b的列数vector<vector<int>> c(arows);for (int row = 0; row < arows; row++) {c[row] = vector<int>(bcols);for (int col = 0; col < bcols; col++) {// 运算规则:A的每一行中的数字对应乘以B的每一列的数字把结果相加起来。int cursum = 0;for (int idx = 0; idx < acols; idx++) {cursum += a[row][idx] * b[idx][col];}c[row][col] = cursum;}}return c;}
};

参考答案Java

import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param a int整型二维数组 第一个矩阵* @param b int整型二维数组 第二个矩阵* @return int整型二维数组*/public int[][] solve (int[][] a, int[][] b) {/*矩阵算法在图像处理、神经网络、模式识别等领域有着广泛的用途。在矩阵乘法中,A矩阵和B矩阵可以做乘法运算必须满足A矩阵的列的数量等于B矩阵的行的数量。运算规则:A的每一行中的数字对应乘以B的每一列的数字把结果相加起来。参考下面的链接https://blog.csdn.net/Lyon_yong/article/details/129474027https://blog.csdn.net/why1472587/article/details/125080048*/int arows = a.length, acols = a[0].length; //a的行数和列数int brows = b.length, bcols = b[0].length; //b的行数和列数//c矩阵=a*b    c的行数=a的行数  c的列数=b的列数int[][] c = new int[arows][bcols];for (int row = 0; row < arows; row++) {for (int col = 0; col < bcols ; col++) {int cussum = 0;for (int idx = 0; idx < acols ; idx++) {cussum += a[row][idx] * b[idx][col];}c[row][col] = cussum;}}return c;}
}

参考答案Go

package main/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param a int整型二维数组 第一个矩阵* @param b int整型二维数组 第二个矩阵* @return int整型二维数组*/
func solve(a [][]int, b [][]int) [][]int {/*矩阵算法在图像处理、神经网络、模式识别等领域有着广泛的用途。在矩阵乘法中,A矩阵和B矩阵可以做乘法运算必须满足A矩阵的列的数量等于B矩阵的行的数量。运算规则:A的每一行中的数字对应乘以B的每一列的数字把结果相加起来。参考下面的链接https://blog.csdn.net/Lyon_yong/article/details/129474027https://blog.csdn.net/why1472587/article/details/125080048*/arows := len(a)acols := len(a[0])//brows := len(b)bcols := len(b[0])//c=a*b   c的行数=a的行数  c的列数=b的列数c := make([][]int, arows)for row := 0; row < arows; row++ {c[row] = make([]int, bcols)for col := 0; col < bcols; col++ {//A的每一行中的数字对应乘以B的每一列的数字把结果相加起来。cursum := 0for idx := 0; idx < acols; idx++ {cursum += a[row][idx] * b[idx][col]}c[row][col] = cursum}}return c
}

参考答案PHP

<?php/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param a int整型二维数组 第一个矩阵* @param b int整型二维数组 第二个矩阵* @return int整型二维数组*/
function solve( $a ,  $b )
{/*矩阵算法在图像处理、神经网络、模式识别等领域有着广泛的用途。在矩阵乘法中,A矩阵和B矩阵可以做乘法运算必须满足A矩阵的列的数量等于B矩阵的行的数量。运算规则:A的每一行中的数字对应乘以B的每一列的数字把结果相加起来。参考下面的链接https://blog.csdn.net/Lyon_yong/article/details/129474027https://blog.csdn.net/why1472587/article/details/125080048*/$arows = count($a);$acols = count($a[0]);$brows=count($b);$bcols =count($b[0]);$c = []; //c=a*b  c的行数=a的行数  c的列数=b的列数for($row=0;$row<$arows;$row++){for($col=0;$col<$bcols;$col++){//A的每一行中的数字对应乘以B的每一列的数字把结果相加起来。$cursum = 0;for($idx=0;$idx<$acols;$idx++){$cursum+= $a[$row][$idx]*$b[$idx][$col];}$c[$row][$col] = $cursum;}}return $c;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/651624.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Restful API 具体设计规范(概述)

协议 https 域名 https://www.baidu.com/api 版本 https://www.baidu.com/v1 路径 https://www.baidu.com/v1/blogs 方法 数据过滤 状态码返回结果 返回的数据格式 尽量使用 JSON&#xff0c;避免使用 XML。 总结&#xff1a; 看 url 就知道要什么看 http method 就知道干…

Linux基础——Linux基本指令(下)

前言&#xff1a;Linux基本指令学到这里也快接近尾声了&#xff0c;如果对前面内容还有不清楚建议回顾这两篇文章 。 Linux基本指令(上) 和Linux基本指令(中) 接前两篇&#xff0c;接下来让我们再深入学习一下最后几个Linux指令,Linux基本指令将在本篇完结。 在此前&#xff…

Web3技术解析:区块链在去中心化应用中的角色

引言 在过去几年中&#xff0c;Web3技术已经成为了互联网领域的一个热门话题。作为区块链技术的延伸&#xff0c;Web3不仅仅是数字货币的代名词&#xff0c;更是一个能够为各种应用提供去中心化解决方案的强大工具。本文将深入探讨区块链在Web3去中心化应用中的关键角色&#…

国产麒麟v10系统下打包electron+vue程序,报错unknown output format set

报错如下&#xff1a; 报错第一时间想到可能是代码配置原因报错&#xff0c;查看代码似乎感觉没啥问题 又查看具体报错原因可能是因为icon的原因报错&#xff0c;后面查阅发现ico在各系统平台会不兼容&#xff0c;也就是ico是给win下使用的&#xff0c;此处改下图标格式就ok&am…

C++系列-输入输出

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” C输入和输出 我们都知道C语言的输出是用printf函数来实现的&#xff0c;那么C呢&#xff0c;它的实现逻辑是什么呢&#xff0c;让我们一起来看一下&#xff0c; #include<i…

怎么用PHP语言实现远程控制电器

怎么用PHP语言实现远程控制电器呢&#xff1f; 本文描述了使用PHP语言调用HTTP接口&#xff0c;实现控制电器&#xff0c;通过控制电器的电源线路来实现电器控制。 可选用产品&#xff1a;可根据实际场景需求&#xff0c;选择对应的规格 序号设备名称厂商1智能WiFi通断器AC3统…

Qt Creator Pro文件添加库和源文件

在项目的pro文件所在的文件夹中添加源文件lib_header &#xff0c;entityobject 如下图所示&#xff1a; 在 pro 文件里面添加源文件的路径如下所示&#xff1a; 这个英文符号点&#xff0c;表示当前目录&#xff0c;因为这个文件是和pro文件在同一个目录下&#xff0c;所以用…

【内网横向】SSH协议隧道搭建详解

什么是SSH隧道 SSH隧道是通过Secure Shell&#xff08;SSH&#xff09;协议在两个网络节点之间创建的加密通道。它可以用于安全地传输数据&#xff0c;绕过网络限制或保护数据免受窃听。通过SSH隧道&#xff0c;可以在两个网络之间建立安全的连接&#xff0c;例如在本地计算机和…

微信小程序:5.数据绑定

在Data中定义数据早wxml中进行数据使用 在data中定义数据 在页面对应的js对象中找到data&#xff0c;然后把数据进行定义即可 Page({data: {motto: Hello World,userInfo: {avatarUrl: defaultAvatarUrl,nickName: ,},hasUserInfo: false,canIUseGetUserProfile: wx.canIUse…

Taro +vue3 中实现全局颜色css变量的设置和使用

当我们现在需要弄一个随时修改的页面颜色主题色 我们可以随时修改 我使用的是 Taro 框架 一般有一个app.less 文件 我们在这个里面 设置一个root 全局样式 :root {--primary-color: #028fd4;--secondary-color: #028fd6;/* 添加其他颜色变量 */ } 这样在全局我们就可以使用这…

前端到全栈进阶之“前端框架”

从前端入门到全栈-系列介绍 你会学到什么&#xff1f; 可能学不到什么东西&#xff0c;该系列是作者本人工作和学习积累&#xff0c;用于复习 系列介绍 现在的 Web 前端已经离不开 Node.js&#xff0c;我们广泛使用的 Babel、Webpack、工程化都是基于 Node 的&#xff0c;各…

店匠科技技术产品闪耀,引领新质生产力发展

在科技飞速发展的今天,新质生产力正成为推动社会进步和经济高质量发展的核心力量。店匠科技,作为一家致力于为全球B2C电商提供产品和技术解决方案的领先企业,其技术产品不仅体现了新质生产力的创新特质,更在推动电商行业转型升级中发挥了重要作用。 新质生产力,以创新为主导,摆…