537. [字符串]复数计算
537.复数乘法
两个复数的运算规则是这样的:\((a_1 + b_1i) * (a_2 + b_2i) = (a_1 * a_2 - b_1 * b_2) + (a_1 * b_2 + a_2 * b_1)i\)
基于这个公式,我们只需要截取获得 String a, String b 中的 a1、a2、b1、b2 进行运算,然后使用 StringBuffer() 进行拼接即可。
// 执行用时: 1 ms , 在所有 Java 提交中击败了 97.00% 的用户
// 内存消耗: 36.7 MB , 在所有 Java 提交中击败了 88.99% 的用户
class Solution {
public String complexNumberMultiply(String a, String b) {
String[] arrayOfA = a.split("\\+");
String[] arrayOfB = b.split("\\+");
int a1 = Integer.parseInt(arrayOfA[0]), a2 = Integer.parseInt(arrayOfB[0]);
int b1 = Integer.parseInt(arrayOfA[1].substring(0, arrayOfA[1].length() - 1));
int b2 = Integer.parseInt(arrayOfB[1].substring(0, arrayOfB[1].length() - 1));
StringBuffer ans = new StringBuffer();
ans.append(a1 * a2 - b1 * b2);
ans.append("+");
ans.append(a1 * b2 + a2 * b1);
ans.append("i");
return ans.toString();
}
}

浙公网安备 33010602011771号