`
BruceXX
  • 浏览: 139201 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

瞬联笔试题九宫图

阅读更多

            今天在mail里面翻原来的东西,一下不小心把以前的笔试 题给翻出来了。。。

            哈哈。。

            好怀念当初。

            本来女友在成都的,我人在上海,她快毕业了,生物专业在国内找工作真的是很难,即使是名牌大学的研究生也不例外。。。于是我想找一个在成都的工作,当时投了瞬联,口碑好像不错,虽然是做欧美外包的,但都是项目式的,听说也比较大型。荐于人在外地,当时发了两道题过来,要求第二天做好后发出去,当天和同学喝了点,10点才到家,熬到12点多才睡,比较过瘾的是一道九宫图题算法,

           package test;
 
 
/**
 * 
 * @author BruceXX
 * 该算法满足这几个特点
 * 1.对角有四对,每对值相等 ,1-9中共有九位数字,对等值相等显然中间的数只可能是5,
 * 
 * 2.四边值相等 
 * 
 * 
 * 建立一个matrix数组:
 * a[0]  a[1]   a[2]
 * a[3]  a[4]   a[5]
 * a[6]  a[7]   a[8]
 * 
 * 
 * 用二进制来得出各个数字所占位,如果都占了,那么其或值应该是512-1
 * s[]对应的 a[i]就是各个位 a[] 1,2,3,4,5,6,7,8,9
 *                         s[] 1,2,4,8,16,32,64,128,256
 *                         
 * 用了两层循环,这样其它的值可以通过这两个变量取得
 * 然后再计算其或值。
 */
 
public class NineBlocks {
         
    public static void main(String args[]){
         
         
        int[] s={1,2,4,8,16,32,64,128,256};
        int w;
        int a[]=new int[9];
        a[4]=5;
         
        int n=0;
        /**
         * 只用两层循环,其它的
         */
        for(a[0]=1;a[0]<=9;a[0]++){
             
            if(a[0]==5)continue;
             
            for(a[1]=1;a[1]<=9;a[1]++){
                /**
                 * 
                 */
                if(a[1]==5 || a[0]==a[1])
                    continue;
                /**
                 * 九宫规则
                 */
                a[2]=15-a[0]-a[1];
                a[6]=10-a[2];
                a[7]=10-a[1];
                a[8]=10-a[0];
                a[3]=15-a[0]-a[6];
                a[5]=15-a[2]-a[8];
                /**
                 * 检测有没有是否有超出范围的值
                 */
                boolean flag=false;
                for(int i=0;i<9;i++){
                    if(a[i]>9|| a[i]<1){
                        flag=true;
                        break;
                    }
                }
                if(flag)
                    continue;
                 
                w=0;
                 
                for(int i=0;i<9;i++){
                     
                    w |=s[a[i]-1];
                }     
                 
                if(w==511){
                    System.out.println("第"+(++n)+"种:");
                    for(int i=0;i<9;i++){
                        System.out.printf("%4d",a[i]);
                        if((i+1)%3==0)
                            System.out.println();
                    }
                     
                }
            }
             
        }
         
    }
 
}

 

后来什么都过了,那边BOSS对我提的工资有点XX,后来就不了了之了,然后去了上海另一家公司。

最后女友还是过来上海了,事实证明这边的机会还是要比成都要大,毕竟生物专业要在一流城市才能好的集群地方,

帖一下以怀念逝去的异地之恋。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics