[LeetCode]Complex Number Multiplication

题目描述:

LeetCode 537. Complex Number Multiplication

Given two strings representing two complex numbers.

You need to return a string representing their multiplication. Note i2 = -1 according to the definition.

Example 1:

Input: "1+1i", "1+1i"
Output: "0+2i"
Explanation: (1 + i) * (1 + i) = 1 + i2 + 2 * i = 2i, and you need convert it to the form of 0+2i.

Example 2:

Input: "1+-1i", "1+-1i"
Output: "0+-2i"
Explanation: (1 - i) * (1 - i) = 1 + i2 - 2 * i = -2i, and you need convert it to the form of 0+-2i.

Note:

  1. The input strings will not have extra blank.
  2. The input strings will be given in the form of a+bi, where the integer a and b will both belong to the range of [-100, 100]. And the output should be also in this form.

题目大意:

求两复数相乘的结果

注意:

  1. 输入字符串不包含额外空格
  2. 输入字符串以a+bi给出,其中a与b都是[-100, 100]范围的整数。输出采用同样形式

解题思路:

字符串处理

Python代码:

class Solution(object):
    def complexNumberMultiply(self, a, b):
        """
        :type a: str
        :type b: str
        :rtype: str
        """
        extract = lambda s : map(int, s[:-1].split('+'))
        m, n = extract(a)
        p, q = extract(b)
        return '%s+%si' % (m * p - n * q, m * q + n * p)

 

本文链接:http://bookshadow.com/weblog/2017/03/26/leetcode-complex-number-multiplication/
请尊重作者的劳动成果,转载请注明出处!书影博客保留对文章的所有权利。

如果您喜欢这篇博文,欢迎您捐赠书影博客: ,查看支付宝二维码

Pingbacks已关闭。

暂无评论

张贴您的评论