有两组数据,大小不同 比如list1【1,2,3,5】和list2【9,26,47】list1中的每一个元素与list2中的每个元素做减法,求出最小值,并求出是哪两个数相减最小怎么实现,最好是JAVA
解决方案 »
- java nettbeans 编程问题,输入时以空格区分两个数字结果不正确,以enter则结果正确。困惑中啊,另外有什么写得不好的地方也请指出,谢谢啊
- 求助:Exception in thread "main" java.lang.NoSuchMethodError:main是什么错误呀?谢谢!在线等……
- 求网页正文信息提取思路
- 想要做一个类似于网通客户端一样的那种软件,该怎么弄?就是需要什么样子的技术?
- 32389804 java群,大家都来看看
- 求救!高分求删除最后个回车换行的方法!
- 小小小程序,帮我查查哪里错了好吗??
- 小弟今日初试java,不想备受打击,请看:
- 如何得到结果集中的纪录数
- 怎样得到邮件的原文(存为文本文件)?
- java时间格式转换出错
- selenium可以做web页面的自动化测试,那桌面程序能做自动化测试吗
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;public class Test {
public static void main(String[] args) {
List<Integer> l1 = new ArrayList<Integer>();
l1.add(1);
l1.add(2);
l1.add(3);
l1.add(5);
List<Integer> l2 = new ArrayList<Integer>();
l2.add(9);
l2.add(26);
l2.add(47);
Map<String, Integer> map = new HashMap<String, Integer>();
for(int i=0; i<l1.size(); i++) {
for(int j=0; j<l2.size(); j++) {
int v1 = l1.get(i);
int v2 = l2.get(j);
map.put("("+v1 + ", " + v2 + ")", v1-v2);
}
}
Set<String> set = map.keySet();
int min = Integer.MAX_VALUE;
for(String s : set) {
if(map.get(s) < min)
min = map.get(s);
}
for(String s : set) {
if(map.get(s) == min)
System.out.println(s);
}
}
}
import java.util.Collections;
import java.util.Iterator;
import java.util.List;public class TestThread
{
public static void main(String[] args)
{
ArrayList<Integer> list1 = new ArrayList<Integer>();
list1.add(1);
list1.add(2);
list1.add(3);
list1.add(5);
ArrayList<Integer> list2 = new ArrayList<Integer>();
list2.add(9);
list2.add(26);
list2.add(47);
List<Integer> list3 = new ArrayList<Integer>();
for(int i = 0; i < list1.size(); i++)
{
for(int j = 0; j < list2.size(); j++)
{
list3.add(list1.get(i) - list2.get(j));
}
}
Collections.sort(list3); //由小到大排序
System.out.println("最小值为:" + list3.get(0));
}
}
import java.util.Collections;
import java.util.List;
public class TestMin {
public static void main(String arg[])
{
List <Integer>a=new ArrayList<Integer>();
a.add(1);
a.add(2);
a.add(3);
a.add(4);
List <Integer>b=new ArrayList<Integer>();
b.add(9);
b.add(26);
b.add(47);
Collections.sort(a);
Collections.sort(b);
System.out.println(a.get(0)-b.get(b.size()-1));
}}
import java.util.Collections;
import java.util.List;
public class TestMin {
public static void main(String arg[])
{
List <Integer>a=new ArrayList<Integer>();
a.add(1);
a.add(2);
a.add(3);
a.add(4);
List <Integer>b=new ArrayList<Integer>();
b.add(9);
b.add(26);
b.add(47);
Collections.sort(a);
Collections.sort(b);
System.out.println(a.get(0)-b.get(b.size()-1));
}}
Collections.sort(l1);
Collections.sort(l2);
int min = l1.get(0) - l2.get(l2.size()-1);否则就采用遍历就可以了
借用4L的代码import java.util.*;
public class Test {
public static void main(String[] args) {
List<Integer> l1 = new ArrayList<Integer>();
l1.add(1);
l1.add(2);
l1.add(3);
l1.add(5);
List<Integer> l2 = new ArrayList<Integer>();
l2.add(9);
l2.add(26);
l2.add(47);
int v1=0, v2=0, min=Integer.MAX_VALUE;
for (int i : l1) {
for (int j : l2) {
int v = Math.abs(i-j); //绝对值最小
if (v < min) {
min = v;
v1 = i;
v2 = j;
}
}
}
System.out.printf("min=l1:[%d]-l2:[%d]=%dn", v1, v2, min);
}
}