规则:对应的元素相加,不对应的直接赋值给相应的位置,如:{1,2,3}+{5,6,7,8,9}={6,8,10,8,9}。以下是我通过类的方法写的代码,有没有更优化的算法?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条经验 获得超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
提交
取消