python交换数组中的两个元素_[Python]华为面试题,交换两个数组的元素使之总和的差值最小。...
看看寫了個(gè) ,實(shí)現(xiàn)不需數(shù)組長度一致,復(fù)雜度O(n^2),求好的算法
/** arr1={1,2,3};
* arr2={22,33,44,55};
* 交換兩個(gè)矩陣數(shù)據(jù)
*/
public void exchange(){
int index=0;
int len=arr1.length;
int currMinus=getMinus();
while(true){
for (int i = 0; i < arr2.length; i++) {
echangeMatrix(index,i);//交換值
if(currMinus>getMinus()){
currMinus=getMinus();//一次循環(huán)中找到最小minus的
}else {
echangeMatrix(index,i);//若不是則不交換,即再換同一位置一次
}
}
index++;
if(index>=len){
break;
}
}
}
private void echangeMatrix(int index,int des){
int temp=0;
temp=arr1[index];
arr1[index]=arr2[des];
arr2[des]=temp;
}
/**計(jì)算和
* ryuuninbou
* @return int
*/
private int getMinus(){
int sum1=0;
int sum2=0;
for (int i = 0; i < arr1.length; i++) {
sum1+=arr1[i];
}
for (int i = 0; i < arr2.length; i++) {
sum2+=arr2[i];
}
return Math.abs(sum1-sum2);
}
總結(jié)
以上是生活随笔為你收集整理的python交换数组中的两个元素_[Python]华为面试题,交换两个数组的元素使之总和的差值最小。...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js方法 各种形式 财富值27
- 下一篇: 有关知乎页面里,script的type为