1到100, 中间随机抽走一个数,用算法得出是哪个数

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class HunderTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//test data
		Map tester = new HashMap();
		for (int i = 0; i < 10; i++) {
			tester.put(i + "", "0");
		}
		List attendant = new ArrayList();
		for (int i = 1; i <= 100; i++) {
			attendant.add(i + "");
		}
		System.out.println(attendant);
		attendant.set(95, " ");

		//Solution 1.  秦胜原创
		int total=5500;
		int result=0;
		for (int i = 0; i < 100; i++) {
			int sub=0;
			try{
				sub=Integer.parseInt((String)attendant.get(i));
			}catch(Exception e){
				
			}
			result+=sub;
		}
		System.out.println(5500-result);
		
		//solution 2.
		for (int i = 0; i < 100; i++) {
			String atr = ((String) attendant.get(i));
			atr = atr.substring(atr.length() - 1, atr.length());
			if (tester.keySet().contains(atr)) {
				String val = (String) tester.get(atr);
				int v = Integer.parseInt(val);
				tester.put(atr, (v += 1) + "");
			}
		}
		String r = "";
		for (int i = 0; i < 10; i++) {
			String k = (String) tester.get(i + "");
			if (k.equals("9")) {
				r = i + "";
				break;
			}
		}
		if (!attendant.contains(r)) {
			System.out.println(r);
		} else {
			for (int i = 1; i <= 10; i++) {
				if (!attendant.contains(i + r)) {
					System.out.println(i + r);
					break;
				}
			}
		}
	}

}

你可能感兴趣的:(算法)