zoukankan      html  css  js  c++  java
  • IT面试题参考

    新文章移至 
    http://cffile.sinaapp.com/?p=37
     

    奉献给大家

    /////////////////////////////////////////////////////////////

    12个球有一个球重量不一样,称三次找出

    12个球编号1~12,设不同的球为x,第一次分成3组,每组4

    一、1234 = 567x9~12

    ()9=10,x1112

     (1)9=11--> x=12

     (2)9>11 or 9<11 --> x=11

    ()9>10,则x910

     (1) 9=11 --> x=10

     (2) 9>11 or 9<11 --> x=9

    ()9<10, x910

     (1) 9=11 --> x=10

     (2) 9>11 or 9<11 --> x=9

    二、1234 > 5,6,7,8 x1~8

    () 1,2,6,7 = 8,9,10,11 x345

     (1) 3=4 --> x=5

     (2) 3>4 --> x=3

     (3) 3<4 --> x=4

    () 1,2,6,7 > 8,9,10,11 x128中,如果异常球重的话,肯定是在12;如果异常球轻的话,肯定是8,故在128

     (1) 1=2 --> x=8

     (2) 1>2 --> x=1

     (3) 1<2 --> x=2

    () 1,2,6,7 < 8,9,10,11 x67

     (1) 1=6 --> x=7

     (2) 1>6 or 1<6 --> x=6

    三、1234 < 5,6,7,8 x1~8

    () 1,2,6,7 = 8,9,10,11 x345

     (1) 3=4 --> x=5

     (2) 3>4 --> x=4

     (3) 3<4 --> x=3

    () 1,2,6,7 > 8,9,10,11 x67

     (1) 1=6 --> x=7

     (2) 1>6 or 1<6 --> x=6

    () 1,2,6,7 < 8,9,10,11 x128

     (1) 1=2 --> x=8

     (2) 1>2 --> x=2

     (3) 1<2 --> x=1

     

    ///////////////////////////////////////////////////////

    一随机数以概率 p 生成0,以概率(1-p)生成1,怎样生成等概率的 0 1

    这涉及到概率 分布的内容了,其实也简单只要能找到一个概率为1/2p的函数就解决了.

    另外还有一个比较方便的实现:

    一随机数f(x)以概率 p 生成0,

    那么设g(x)=f(x)>0?0:1; g(x)以概率 1-p 生成0.

    所以f(x),g(x)同时生成0的概率为p(1-p)等于同时生成1的概率.

    得等概率随机数

    function g(x){

     int v=f(x)+g(x);

     if(v==0){

        return 0; //1.f(x)g(x)同时为0

     else if(v==2){

        return 1; //2.f(x)g(x)同时为1

     }else{

        g(x); //3.f(x)g(x)一个为0一个为1,重新生成随机数

     }

    }

    上面第3步的概率为p^2+(1-p)^2

    ////////////////////////////////////////////////////////////////////////////

    有101个硬币,100个真的,1个假的,形状相同,重量不一样,用无码天秤称,称两次,假币重还是真币重?

    把101个硬币平均分成三份,分别是:33,33,34,把两 堆33个放在天平上称,

     

    1、如果平衡,说明这66个都是真的。然后从这两堆共66个中取出34个,与第三堆的34个分别放在天平的左右盘中称,这样,第三堆所在的天平的那一端的轻重就是假币的轻重情况。

     

    2、如果两 个33放在天平上不平衡,说明第三堆的34个是真的。取下轻的一端的33个,从第三堆中取33个放在上面,如果平衡,说明取下的一堆中有假币,假币比真的轻。如果不平衡,只有一种结果,第三堆与取下的一堆一样,都比那一堆轻,说明假的比真的重。

    /////////////////////////////////////////////////////////////////////

    一串长为M的珠子,珠子的颜色有N(N<10)。求包含N种颜色的最短连续珠串。

    两个指针,开始的时候都指向某一个位置,移动前一个指针,直到两个指针直接包含了所有颜色的珠子。
    此时记下len
    然后向前移动后面的指针,再调整最前面的指针,直到重新满足两个指针间包含了所有的颜色,比较此时的len和之前的len,取最小值。
    如此移动(移动后面的指针,再调整最前面的指针),直到后面的指针回到起始位置。
    时间复杂度是OM),空间复杂度是O(1)

  • 相关阅读:
    WebView加载URL跳转到系统浏览器的解决方法
    WebView 显示网页
    Android权限 uses-permission
    用android studio创建第一个安卓程序加载html5 页面
    html5-补充知识
    Web存储使用详解(本地存储、会话存储)
    sikuli
    java学习_文件工具类
    java学习___File类的查看和删除
    出现java.lang.NoClassDefFoundError: com/google/common/base/Charsets异常错误
  • 原文地址:https://www.cnblogs.com/chenzhihong/p/2226666.html
Copyright © 2011-2022 走看看