负暄琐话

我的email: rot47('649@ 6(hF+`hd"w=92vhG{>}G3"@l M >:>6?4@56 \F')

囧囧ID:g9yuayon
868175次访问,排名32好友26人,关注者30
姓名:g9yuayon
前世:夜郎国厚脸皮神棍
魅力指数:0
名气:1
宠物:一只从来不对生人叫的看门狗
[加为好友] [即时聊天] [发私信]
g9yuayon的文章
原创 244 篇
翻译 4 篇
转载 48 篇
评论 861 篇
g9的公告
最近评论
RonoTian:不好意思,也是O(n)的。。。
RonoTian:“第二道算法题是一坨任意整数数组。写一个函数,把数组里的奇数放前面。偶数放后面。比如[1, 2, 3, 4, 5],处理后得到[1, 3, 5, 2, 4]。这次我学乖了,先演算了几个例子,然后问了他顺序重要不。他说不重要。我说,俺决定从最简单的开始,试一试顺序做,放一坨下标,指向数组起始元素。说到这里,算法出来了。然后分析复杂度,时间O(n),空间O(1)”

这坨好像……
turingbook:文字真强啊。成语一砣一砣的……
mmcjr:已阅
mmcjr:已阅
文章分类
收藏
    相册
    旅游
    计算机科学
    Lambda the Ultimate
    软件开发
    Reddit编程专栏(RSS)
    正在读的书
    存档
    订阅我的博客
    XML聚合  FeedSky

    原创 面试题收藏

    新一篇: AquaWeb | 旧一篇: Identity2.0

    从techinterview上看到的:有5个人,其中一个永远说真话。其余四个真话假话轮着说-这次说真话,下次就说假话,或者这次说假话,下次一定说真话。不过说假话的可以在听了第一个问题后选择到底先说真话还是先说假话。现在给你问两个问题的机会,可以问同一个人,也可以问不同人,但最多问两个问题。你能不能找出那个只说真话的人?

    发表于 @ 2005年10月15日 11:57:00|评论(loading...)|编辑

    新一篇: AquaWeb | 旧一篇: Identity2.0

    评论

    #carroty 发表于2006-01-01 14:04:00  IP: 61.181.239.*
    首先问A,你是说有可能说假话的人吗?

    1.如果A是说真话的人,则回答不是;

    2.如果A是说假话的人,且选择说假话,则同样回答不是;

    3.如果A是说假话的人并选择说真话,则回答是;

    对于1,2情况问A,5个中谁是总说真话的人,则得到正确答案;

    对于3,情况问A,他们4个中谁是说假话的人,则得到的人是说真话的人;
    #newc 发表于2006-07-16 10:13:00  IP: 58.48.143.*
    呵呵,楼上答案有问题
    显然的漏洞在于:你怎么区分1.2.3种情况?别忘了,你只有两个问题
    #newc 发表于2006-07-16 10:17:00  IP: 58.48.143.*
    不好意思,偶犯晕乎了...my fault
    #glacjay 发表于2006-09-16 18:15:00  IP: 218.94.9.*
    问同一个人两次:谁是说真话的人?
    #jjymhkx0820 发表于2006-09-17 18:43:00  IP: 61.50.142.*
    1问:"你是不是一直说真话的人?"

    如果回答"不是",那么他是说假话的,这次说的是真话,下一个问题问他:"谁不是一直说真话"即可.

    如果回答:"是."那么他要么是一直说真话的人,要么是说假话了人,切说了假话,那么下一次一定得到的是真话.继续问他:"谁一直说真话"即可.
    #jjymhkx0820 发表于2006-09-17 18:45:00  IP: 61.50.142.*
    1问:"你是不是一直说真话的人?"

    如果回答"不是",那么他是说假话的,这次说的是真话,下一个问题问他:"谁不是一直说真话"即可.

    如果回答:"是."那么他要么是一直说真话的人,要么是说假话了人,切说了假话,那么下一次一定得到的是真话.继续问他:"谁一直说真话"即可.
    #jjymhkx0820 发表于2006-09-17 18:46:00  IP: 61.50.142.*
    1问:"你是不是一直说真话的人?"

    如果回答"不是",那么他是说假话的,这次说的是真话,下一个问题问他:"谁不是一直说真话"即可.

    如果回答:"是."那么他要么是一直说真话的人,要么是说假话了人,切说了假话,那么下一次一定得到的是真话.继续问他:"谁一直说真话"即可.
    #baikaishiuc 发表于2007-09-27 01:35:10  IP: 125.71.1.*
    上面的答案貌似全错.

    问任意一人A,"哪四个人是说假话的?"

    假如
    A说真话,那么两次答案都一样.可以确定A老实
    A是不老实的,
    A先说假话,则 会说 B,C,D,E是说假话
    然后第二次问他,同个问题,说真话了,假如任意C是说真话的,则A会说
    A,B,D,E说假话,那么比对两次答案就可以得出C是说真话的,因为假如两次答案不一样,那么A一定是说假话的,然后把剩下的三个答案跟前面说的比对下,就得出了.

    A先说真话,在说假话,也同样分析,最后那个结果减去自身,然后把两次结果的交集减去,就是说真话的了.

    #sooho 发表于2008-01-07 04:19:01  IP: 58.210.239.*
    问同一个人
    问题1:说真话有几个?

    如果回答是1,则
    {问题2:说假话是些谁?
    如果回答4个人,则答者本人是说真话的
    如果回答1个人,则回答的是谁,说真话就是谁
    }
    如果回答不是1,则问题2:谁是说真话的?回答的是谁,说真话就是谁

    虽然我准备了3个问题,但是真是测试我都只用了2个问题,符合题意





    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © g9