537. 复数乘法
难度中等82
复数 可以用字符串表示,遵循 "**实部**+**虚部**i"
的形式,并满足下述条件:
-
实部
是一个整数,取值范围是[-100, 100]
-
虚部
也是一个整数,取值范围是[-100, 100]
i<sup>2</sup> == -1
给你两个字符串表示的复数 num1
和 num2
,请你遵循复数表示形式,返回表示它们乘积的字符串。
我的题解
class Solution:
def complexNumberMultiply(self, num1: str, num2: str) -> str:
def get_ab(num1):
s_nums1 = num1.split('+')
return int(s_nums1[0]), int(''.join(list(s_nums1[1])[:-1]))
a1, b1 = get_ab(num1)
a2, b2 = get_ab(num2)
return str(a1*a2 - b1*b2) + '+' + str(a1*b2 + a2*b1) + 'i'
官方题解
使用map操作
class Solution:
def complexNumberMultiply(self, num1: str, num2: str) -> str:
real1, imag1 = map(int, num1[:-1].split('+'))
real2, imag2 = map(int, num2[:-1].split('+'))
return f'{real1 * real2 - imag1 * imag2}+{real1 * imag2 + imag1 * real2}i'
作者:LeetCode-Solution
链接:https://leetcode-cn.com/problems/complex-number-multiplication/solution/fu-shu-cheng-fa-by-leetcode-solution-163i/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。