規(guī)則:對應的元素相加,不對應的直接賦值給相應的位置,如:{1,2,3}+{5,6,7,8,9}={6,8,10,8,9}。以下是我通過類的方法寫的代碼,有沒有更優(yōu)化的算法?package?test4;
public?class?Test01?{
int[]?getSum(int[]?sum1,int[]?sum2){
int?a=sum1.length,b=sum2.length;
if(a<b){
int[]?sum11=new?int[b];
int?i=0;
for(;i<a;i++){
sum11[i]=sum1[i]+sum2[i];
}
for(;i<b;i++){
sum11[i]=sum2[i];
}
return?sum11;
}else{
int[]?sum11=new?int[a];
int?i=0;
for(;i<b;i++){
sum11[i]=sum1[i]+sum2[i];
}
for(;i<a;i++){
sum11[i]=sum1[i];
}
return?sum11;
}
}
public?static?void?main(String[]?args)?{
Test01?test=new?Test01();
int[]?n1={5,8,4,12,1,9};
int[]?n2={11,2,6,3};
int[]?num=test.getSum(n1,n2);
for(int?i=0;i<num.length;i++){
System.out.println(num[i]);
}
}
}
1 回答
已采納

不偏不易
TA貢獻96條經(jīng)驗 獲得超118個贊
if(a<b){ ????????????int?i=0; ????????????for(;i<a;i++){ ????????????????sum2[i]=sum1[i]+sum2[i]; ????????????} ????????????return?sum2;
后面沒有再用到sum2的部分,所以可以利用這一點,把值全放sum2里,此時是sum2長
同理a>=b部分也可修改。
添加回答
舉報
0/150
提交
取消