有多个33和1个199,找到不同的那个数字,不能对33和199进行硬比较(即程序中不能出现==33或者==99)
不废话,直接上代码,需要的可以直接拷走:
/**
* 有n个33和1个199,找到不同的那个数字,不能对33和199进行硬比较
* @author hbxfyxw
* @blog http://blog.youkuaiyun.com/hbxfyxw
*/
public class FindNum {
public static void main(String[] args) {
int num[] = { 33, 33, 33, 33, 33, 199, 33, 33 };
HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
for (int i = 0; i < num.length; i++) {
if (map.containsKey(num[i])) {
map.put(num[i], map.get(num[i]) + 1);
} else {
map.put(num[i], 1);
}
}
Set set = map.keySet();
Iterator<Integer> it = set.iterator();
while (it.hasNext()) {
int k = it.next();
int v = map.get(k);
if (v == 1) {
System.out.println("那个不同的数字是:" + k);
}
}
}
}