代码编织梦想

华为机试HJ69矩阵乘法

题目:

输入:
2
3
2
1 2 3
3 2 1
1 2
2 1
3 3
输出:
14 13
10 11
说明:
1 2 3
3 2 1
乘以
1 2
2 1
3 3
等于
14 13
10 11
输入的第一行为第一个矩阵的行数,第二行为第一个矩阵的列数或第二个矩阵的行数,第三行为第二个矩阵的列数,完成两个矩阵相乘。

想法:

按第一行显示的第一个矩阵的行数,将第一个矩阵与第二个矩阵取出,再将其中对应元素相乘。

import sys

M = []  # 第一个矩阵
N = []  # 第二个矩阵
m_r = 0  # 第一个矩阵的行数
m_c = 0  # 第一个矩阵的列数或第二个矩阵的行数
n_r = 0  # 第二个矩阵的列数
count = 1
for line in sys.stdin:
    a = line.split()  # 按行读取数据
    a = list(map(int, a))  # 将字符串转为数值列表
    # a = [int(x) for x in a]
    # 按行获取行列数和矩阵
    if count == 1:
        m_r = a[0]
    elif count == 2:
        m_c = a[0]
    elif count == 3:
        n_r = a[0]
    elif count >= 4 and count <= 3+m_r:
        M.append(a)
    elif count > 3+m_r:
        N.append(a)
    count += 1

# 实现矩阵相乘
MN = [[sum(M[i][k]*N[k][j] for k in range(m_c)) for j in range(n_r)] for i in range(m_r)]

# 按行输出结果
for l in MN:
    print(' '.join(map(str, l)))
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_29787929/article/details/129597074

矩阵乘法问题-爱代码爱编程

题目描述 如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的 输入描述: 输入包含多组数据,每组数据包含: 第一行包含一个正整数x,代表第一个矩阵的行数 第二行包含一个正整数y,代表第一个矩阵的列数和第二个矩阵的行数 第三行包含一个正整数z,代表第二个矩阵的

Java算法:华为机试算法(中),华为算法Java版,牛客网华为算法55~72题-爱代码爱编程

接上篇:Java算法:华为机试算法(上),华为算法Java版,牛客网华为算法1~54题   HJ55 (练习用)挑7 挑7 题目描述 输出7有关数字的个数,包括7的倍数,还有包含7的数字(如17,27,37...70,71,72,73...)的个数(一组测试用例里可能有多组数据,请注意处理) 输入描述: 一个正整数N。(N不大于30000)

(python)牛客网(华为机试三)——中等-爱代码爱编程

本博客为博主解题的部分记录,由于均为自己写的,所以答案并非最优解,有很多地方可以优化。 其他题解合集:(python)牛客网(华为机试一)——入门(python)牛客网(华为机试二)——简单(python)牛客网(华为机试四)——较难 题目 HJ5 进制转换HJ6 质数因子HJ8 合并表记录HJ9 提取不重复的整数HJ10 字符个数统计HJ14

华为机试练习题(牛客在线编练习程题总结)-爱代码爱编程

牛客华为机试题题解 代码地址:https://github.com/lxg-gofor/JavaLearn/tree/master/Arithmetic/src/main/java/com/lxg/hw 更新中… 题号题目知识点难度1字符串最后一个单词的长度字符串较难2计算字符个数字符串哈希较难3明明的随机数数组较难4字符串分隔字符

【牛客网华为机试】HJ69 矩阵乘法-爱代码爱编程

题目 描述 如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的 矩阵的大小不超过100*100 输入描述: 输入包含多组数据,每组数据包含: 第一行包含一个正整数x,代表第一个矩阵的行数 第二行包含一个正整数y,代表第一个矩阵的列数和第二个矩阵的行数 第三行包

华为机试在线训练|解题记录|HJ01-103-爱代码爱编程

华为机试在线训练 0.基础知识0.1.输入输出0.1.1基础输入输出0.1.2 头文件0.1.2输出一位小数0.2.关于字符串的常见操作substratoito_stringuppercase遍历ASCII码find()0.3.关于vector的常见操作0.4.关于动态规划1.入门题HJ7 取近似值HJ15 求int型正整数在内存中存储时1的个数H

《华为机试》刷题之HJ69 矩阵乘法-爱代码爱编程

一、题目 二、示例 三、代码 while True: try: x = int(input()) y = int(input()) z = int(input()) A = [] B = [] result = [[0 for i in r

HJ69 矩阵乘法 —— 华为机考练习题-爱代码爱编程

一、题目 二、代码 import java.util.*; public class Main { public Main() { } public int[][] mul(int[][] mat1, int [][]mat2) { int x = mat1.length, y = mat2.length,

牛客在线编程-华为机试-中等-爱代码爱编程

牛客在线编程题目-华为机试-中等 题号题目知识点难度通过率HJ16购物单动态规划中等21.21%HJ17坐标移动字符串中等24.79%HJ20密码验证合格程序数组 字符串 模拟中等28.91%HJ24合唱队队列 动态规划中等26.04%HJ26字符串排序字符串 排序中等36.80%HJ27查找兄弟单词中等21.10%HJ29字符串加解密字符串 模拟中等2

华为机试算法整理-爱代码爱编程

1、HJ1  字符串最后一个单词的长度 计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾) package com.micheal; import java.util.Scanner; /** * 计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结

【HUAWEI】华为机试试题-105-爱代码爱编程

LeeCode试题链接直接上 HJ1 字符串最后一个单词的长度 HJ2 计算某字符出现次数 HJ3 明明的随机数:随机数去重排序输出(小-大) HJ4 字符串分隔:输入一个字符串,请按长度为8拆分每个输入字符串并进行输出; HJ5 进制转换:输入十六进制的数,输出该数值的十进制 HJ6 质数因子:输入一个正整数,按照从小到大的顺序输出它的所有质因子 HJ

牛客华为机试题刷题笔记总结[103题更新完毕才收尾,建议关注收藏]_七灵微的博客-爱代码爱编程

面试题链接🔗:https://www.nowcoder.com/exam/oj/ta?difficulty=1&page=1&pageSize=50&search=&tpId=37&t

华为机试hj69_余忆北的博客-爱代码爱编程

HJ69 矩阵乘法 法一 import java.util.*; public class Main { public static void main(String[] args) { Sca

【华为机考题库学习】-爱代码爱编程

系列文章目录 文章目录 系列文章目录前言一、HJ1 字符串最后一个单词的长度二、HJ2 计算某字符出现的次数三、HJ3 明明的随机数四、HJ4 字符串分隔五、HJ5 进制转换六、HJ6 质数因子七、HJ7 取

c++ 修仙之路_c++修仙之路-爱代码爱编程

华为笔试练习 文章目录 华为笔试练习字符串HJ4 字符串分隔HJ17 坐标移动HJ18 识别有效的IP地址和掩码并进行分类统计HJ20 密码验证合格程序HJ21 简单密码HJ39 判断两个IP是否属于同一子网