苏格拉底是个大骗子

引用
1。有一栋十层楼的楼,在每个电梯门口放上一颗钻石,这些钻石的大小不同,一人坐电梯从一楼,电梯每到一层楼都开一次门,而且这个人能准确的分辨钻石的大小,请问怎么样能拿到最大的钻石,只有一次机会(就是出了电梯门就进不来了)




2。请估计广州中信大厦是否坚固,写出推理过程。
个人觉得开发人员搞开发不过也就是个民工式的体力活,至于说创造力之类的更多时候唬人而已。知道你的第一题是为了考察一下逻辑推理或者概率的功底,不过抄袭麦田问题也太明显了点,并且还搞个不伦不类的钻石。。。,第二题也就是想考察一下测试,不过我觉得这跟软件测试搭不上什么边,如果你硬是要搭边,我想只会误导大家。。。如果你不是google、MS这样怕把大门挤破,或者是招科学家样的人才,我觉得你没必要把个面试题搞成这样!


苏格拉底是个大骗子:
package com.mao.user;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;

public class 十楼钻石 {
	public static Random r = new Random(System.currentTimeMillis());
	public static  double a = 0 ;
	public static int 层数 = 10;
	public static double max = 0;
	public static double all = 0;
	public static void main(String[] args) {
		int 倒霉 = 0;
		for(int i=0 ; i < 10 ; i++){
			List<Double> qq = new ArrayList<Double>();
				
			算命(qq);
			all=0;
			for(Double t : qq){
				all+=t;
			}			
			System.out.println(a);
			System.out.println("最大:"+Collections.max(qq));
			System.out.println("平均:"+ all/层数);
			if(a<all/层数){
				倒霉 ++;
			}
		}
		System.out.println("倒霉:"+倒霉);
	}
	private static void 算命(List<Double> qq) {
		for(int i =0 ; i < 层数 ; i++){
			qq.add(r.nextDouble()*10);
		}		
//		System.out.println(qq);
		for(int i = 0 ; i < 层数 ; i++){
			 
			if(findMax(qq.get(i),i)){
				break;
			}
		}
	}
	/**
	 * 普通人 的人生观.
	 * @param d
	 * @param i
	 * @return
	 */
	public  static boolean findMax(Double d, int i) {
		all += d; 
		if(i<层数/3){
		    if(d>max){
		    	max=d;
		    }
		    return false;
		}else if(i>层数/3&&i<层数*2/3){
			if (d >= max){
				a=d;
				return true;
			}
		}else{
			if(d>=all/i){
				a=d;
				return true;
			}
		}
		a=d;
		return false;
	}
	
}


人生的杯具在于......
无论你怎么样努力.....
结果都一样
钻石问题得到平均值小的次数总是恒定的.....

所以不要再在无用的方向上努力了
真正的人生观是:
	public  static boolean findMax(Double d, int i) {
//		all += d; 
//		if(i<层数/3){
//		    if(d>max){
//		    	max=d;
//		    }
//		    return false;
//		}else if(i>层数/3&&i<层数*2/3){
//			if (d >= max){
//				a=d;
//				return true;
//			}
//		}else{
//			if(d>=all/i){
//				a=d;
//				return true;
//			}
//		}
		a=d;
		return true;
	}

把你见到的第一颗钻石拿走节约一些时间去下一家面试.

你可能感兴趣的:(面试,qq,软件测试,Google)