其实这个问题很简单,就是用两个数组来写
多思考一下也就出来了
用到了两个类
package cn.kgc.springtest2.demo3;
import java.util.HashMap;
import java.util.Map;
public class FindNum {
public int find(int[] arr) {
Map<Integer, Integer> map = new HashMap<Integer,Integer>();
//初始化,将1-100都放到map里面,value初值为0
for (int i = 1; i <= 100; i++) {
map.put(i, 0);
}
//遍历数组,找到一个数字,就更新对应的vaule为1
for (int i = 0; i < arr.length; i++) {
map.put(arr[i], 1);
}
//遍历map,如果发现value为0,则找到被遗弃数字了,返回
for (Map.Entry<Integer, Integer> m : map.entrySet()) {
if (m.getValue() == 0) {
return m.getKey();
}
}
//找不到返回0
return 0;
}
}
里面有注释,大家好好看一个
下面就是一个测试类
package cn.kgc.springtest2.demo3;
import java