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`
};










