package com.interview.algorithms.general;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.BitSet;
/**
* Created_By: stefanie
* Date: 14-7-8
* Time: 下午10:17
*/
public class C1_29_FindUnduplicateInteger {
public static int unduplicateNumber(String filePath, int base) {
BitSet first = new BitSet(2*base);
BitSet multi = new BitSet(2*base);
try {
FileInputStream f = new FileInputStream(filePath);
BufferedReader dr = new BufferedReader(new InputStreamReader(f));
String line = dr.readLine();
while (line != null) {
Integer item = Integer.valueOf(line.trim());
int index = item+base;
if (first.get(index)) multi.set(index);
else first.set(index);
line = dr.readLine();
}
} catch (Exception e) {
e.printStackTrace();
}
int count = 0;
for(int i = 0; i < 2*base; i++){
if(first.get(i) && !multi.get(i)) count++;
}
return count;
}
}