这是本周的contest
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 + 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.
public class Solution {
public String complexNumberMultiply(String a, String b) {
String[] wordsa=new String[2];
int temp=help(a);
wordsa[0]=a.substring(0,temp);
wordsa[1]=a.substring(temp+1,a.length());
String[] wordsb=new String[2];
temp=help(b);
wordsb[0]=b.substring(0,temp);
wordsb[1]=b.substring(temp+1,b.length());
int[] aa=new int[2];
int[] bb=new int[2];
aa[0]=Integer.valueOf(wordsa[0]);
bb[0]=Integer.valueOf(wordsb[0]);
aa[1]=Integer.valueOf(wordsa[1].substring(0,wordsa[1].length()-1));
bb[1]=Integer.valueOf(wordsb[1].substring(0,wordsb[1].length()-1));
String str="";
int[] cc=new int[2];
cc[0]=aa[0]*bb[0]+(-1)*(aa[1]*bb[1]);
cc[1]=aa[0]*bb[1]+aa[1]*bb[0];
str=cc[0]+"+"+cc[1]+"i"+"";
return str;
}
private int help(String a){
int i=0;
for(;i<a.length();i++){
if(a.charAt(i)=='+'){
break;
}
}
return i;
}
}