首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

觅某集合中任意元素之和最接近于一指定值的所有的元素的算法

2011-12-21 
找某集合中任意元素之和最接近于一指定值的所有的元素的算法找某集合中任意元素之和最接近于一指定值的所

找某集合中任意元素之和最接近于一指定值的所有的元素的算法
找某集合中任意元素之和最接近于一指定值的所有的元素的算法
如:集合{90,   200,   300,   400,   530}     指定数值:650
    那么元素之和最接近650的元素是90和530,   因为90   +   530   =   620   最接近650    
最好用java实现,谢谢。

[解决办法]
//file:test.java
public class test {
public static void main(String[] args) {
int result = 0;
int r = Integer.MAX_VALUE;
int[] a = {90, 200, 300, 400, 530};
int l=0,m=0;
if(a.length <2){return;}
for(int i = 0; i <a.length; i++){
for(int j = i+1; j <a.length; j++){
int tmp = a[i]+a[j];
int r1 = 650-tmp;
if(r1 <0){r1 = 0-r1;}
else if(r1==0){
l=i;m=j;
result = tmp;
break;
}
if(r> r1){
l=i;m=j;
r = 650-tmp;
result = tmp;
}
}
}
System.out.println( " "+l+ " "+m+ " "+result);
}

热点排行