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.

Example 1:

Input:
 "1+1i", "1+1i"

Output:
 "0+2i"

Explanation:
 (1 + i) * (1 + i) = 1 + i
2
 + 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 + i
2
 - 2 * i = -2i, and you need convert it to the form of 0+-2i.

Note:

  1. The input strings will not have extra blank.
  2. 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 .

Tips:

注意用split分开string为数组时,用a.split("+")

Code:

public class Solution {
    public String complexNumberMultiply(String a, String b) {
        String res = "";
        String[] s1 = a.split("\\+");
        String[] s2 = b.split("\\+");
        int a1 = Integer.valueOf(s1[0]);
        int a2 = Integer.valueOf(s1[1].substring(0, s1[1].length() - 1));
        int b1 = Integer.valueOf(s2[0]);
        int b2 = Integer.valueOf(s2[1].substring(0, s2[1].length() - 1));
        int a1b1 = a1 * b1;
        int a1b2a2b1 = a1 * b2 + a2 * b1;
        int a2b2 = a2 * b2;
        return a1b1 - a2b2 + "+" + a1b2a2b1 + "i";
    }
}

results matching ""

    No results matching ""