LeetCode 537. 复数乘法(Complex Number Multiplication)
2024-10-20 08:29:24
537. 复数乘法
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.
LeetCode537. Complex Number Multiplication中等
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.
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.
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:
- The input strings will not have extra blank.
- 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.
Java 实现
class Solution {
// 复数的乘法: (a+bi)(c+di)=(ac-bd)+(bc+ad)i
public String complexNumberMultiply(String a, String b) {
int[] arrA = getValue(a);
int[] arrB = getValue(b);
int x = arrA[0] * arrB[0] - arrA[1] * arrB[1];
int y = arrA[1] * arrB[0] + arrA[0] * arrB[1];
return x + "+" + y + "i";
}
private int[] getValue(String s) {
String[] str = s.split("\\+");
int[] val = new int[2];
val[0] = Integer.parseInt(str[0]);
val[1] = Integer.parseInt(str[1].replace("i", ""));
return val;
}
}
参考资料
- https://leetcode-cn.com/problems/complex-number-multiplication/
- https://leetcode.com/problems/complex-number-multiplication/
- https://leetcode.com/problems/complex-number-multiplication/discuss/100428/Java-7ms-easy-to-understand-solution
最新文章
- 实战Java虚拟机之三“G1的新生代GC”
- SQLite建表并添加数据
- [Xamarin] 簡單使用AlertDialog (转帖)
- Ubuntu升级内核
- webapp开发经验总结
- JSP 服务器响应
- [VB.NET]Dictionary类
- Jordan Lecture Note-5: Kernels
- tcl/tk实例详解——修改目录下所有文件(使用一个字符串代替另外一个)
- 【HDU 3949】 XOR (线性基,高斯消元)
- 精通javasCRIPT-学习笔记 Features,Functions,Object
- C++inserter
- 【learning】莫比乌斯反演
- [物理学与PDEs]第1章第8节 静电场和静磁场 8.1 静电场
- Lua + win 10 + vs2017的运行环境和创建cocos2dx 3.17的lua项目(亲测)
- zabbix_agent添加到系统服务启动(八)
- iOS开发-消息转发
- netstat 在windows下和Linux下查看网络连接和端口占用
- Hibernate高效查询,只查询部分/指定字段
- VMware 安装CentOS 6.5图文步骤 以及安装后无法联网的解决办法