537. 复数乘法(2022-2-25)
复数 可以用字符串表示,遵循 "实部+虚部i"
的形式,并满足下述条件:
实部
是一个整数,取值范围是[-100, 100]
虚部
也是一个整数,取值范围是[-100, 100]
i^2 == -1
给你两个字符串表示的复数 num1
和 num2
,请你遵循复数表示形式,返回表示它们乘积的字符串。
示例 1:
示例 2:
提示:
num1
和num2
都是有效的复数表示。
解题思路
直接结合律,展开多项式运算就好了。下边是计算公式:
(a+bi)(c+di)=(ac-bd)+(bc+ad)i
把实部、虚部分开,在转化为Number
类型就可以直接运算了。
var complexNumberMultiply = function(num1, num2) {
let n1 = num1.split("+"),n2 = num2.split("+")
let s1 = parseInt(n1[1]),s2 = parseInt(n2[1])
return`${n1[0] * n2[0] - s1 * s2} + ${s1 * n2[0] + n1[0] * s2}i`
};