leetcode练习(43)
2017-11-05 10:31
267 查看
题43
题目要求实现一个矩阵乘法,用python实现出现的问题是将str转为int时,例如num=’98’,直接用int(),会出错,它会转变为‘9’和‘8’。解决方法是在‘98’外加上[]。
代码如下:
class Solution: def multiply(self, num1, num2): """ :type num1: str :type num2: str :rtype: str """ numa = [[num1]] numb = [[num2]] M1=len(numa) # nums1的行数 N1=len(numa[0]) #nums1的列数 M2=len(numb) # nums2的行数 N2=len(numb[0]) # nums2的列数 res = [[0 for i in range(M1)]for j in range(N2)] if N1!=M2: return "Error" else: for i in range(M1): # nums1的第i行 for j in range(N2): # nums2的第j列 tmp=0 for r in range(N1): tmp += int(numa[i][r])*int(numb[r][j]) # res的第i行第j列的结果 res[i][j]=str(tmp) if len(res)==1 and len(res[0])==1: return res[0][0] else: return res s=Solution() nums1='98' nums2='9' print(s.multiply(nums1,nums2))
结果如下:
相关文章推荐
- leetCode练习(43)
- LeetCode Online Judge 题目C# 练习 - Remove Duplicates from Sorted Array II
- LeetCode Online Judge 题目C# 练习 - Reverse Integer
- leetCode练习(7)
- leetCode练习(494)
- LeetCode Online Judge 题目C# 练习 - Binary Tree Level Order Traversal
- LeetCode编程练习 - Maximum Subarray学习心得
- LeetCode编程练习 - Linked List Cycle学习心得
- LeetCode练习-回文测试(Palindrome Number)
- LeetCode 43 Multiply Strings(字符串相乘)
- leetCode练习(116)
- leetCode练习(134)(
- LeetCode练习-动态规划算法(二)
- LeetCode练习<六> 相关排序
- 43_leetcode_Combination Sum II
- Leetcode 43. Multiply StringsI
- Leetcode练习<二十二> 合并排序好的链表
- leetCode练习(52)
- leetCode练习(83)
- leetcode练习 Maximum Length of Repeated Subarray