β

面试中常见的几道智力题 来看看你会做几道(2)?

Harries Blog™ 14 阅读

下面的题目来自 滴滴 出行2017秋招题。这些题目是我自己觉得比较难或者比较容易出错的题目。

question one

桌上有12个黑球和1个白球围成一个圆,按一个方向顺序数到13就拿走对应的一个球,如果要求最后拿走的是白球,请问该从哪个求开始数数

question two

黄球和绿球各70个,放到2个 空间 足够大的盒子中。使用某种放置方法,使得随机取一个盒子,并从中随机取一个球时,得到黄球的概率最大,请问这时取得黄球的概率是多少?

question three

假如技术团队共有50人,其中会C语言的有36人,会JAVA语言的有44人,会GO语言的有32人,同时会这3种语言的至少有多少人?

question four

一个小猴子边上有100根香蕉,它要走过50米才能到家,每次它最多搬50根香蕉,(多了就被压死了),它每走1米就要吃掉一根,请问它最多能把多少根香蕉搬回家里。

question five

52张牌,四张A,随机打乱后问,从左到右一张一张翻直到出现第一张A,请问平均要翻几张牌?

question six

一个不透明的箱子里共有红,黄,蓝,绿,白五种颜色的小球,每种颜色的小球大小相同, 质量 相等,数量充足。每个人从篮子里抽出两个小球, 请问至少需要多少个人抽球,才能保证有两个人抽到的小球颜 色相 同?

面试中常见的几道智力题 来看看你会做几道(2)?

答案

question one

约瑟夫环递推公式:f(n, m) = (f(n – 1, m) + m) % n;(其中n是球的数量,m是报的数字)

f(1, 13) = 0;(当只有一个球的时候,最后拿走的球的下标为0)

f(2, 13) = (f(1, 13) + 13) % 2 = 1;(当有2个球的时候,最后拿走的球的下标为1)

f(3, 13) = (f(2, 13) + 13) % 3 = 2;(当有3个球的时候,最后拿走的球的下标为2)

f(13, 13) = (f(12, 13) + 13) % 13 = 7;(当有13个球的时候,最后拿走的球的下标为7)

需要注意的是,编号是从0开始的,f(13, 13) = 7,说明最后拿走的球是从最开始的球(编号为0)后面的第7个球; 也就是当顺时针方向白球后第6个黑球,逆时针方向白球后第6个黑球。(建议大家画图看一下,不然不容易弄懂,我在纸上画了好多遍画的还不是很满意,感觉自己画的很丑,所以就不贴在这里了)。

相关 代码

public class Test {

	public static void main(String[] args) {
		int x = Test.yuesefu(13, 13);
		System.out.println(x);
	}

	static int yuesefu(int n, int m) {
		if (n == 1) {
			return 0; // 这里返回下标,从0开始,只有一个元素就是剩余的元素0
		} else {
			return (yuesefu(n - 1, m) + m) % n; // 我们传入的n是总共多少个数
		}
	}
}

question two

一个黄球放在一个盒子里另外所有都放在另一个盒子里这样就会使得到黄球的概率最大: 1/2+(1/2)*(69/139)

question three

完全不会C语言的有14人,完全不会JAVA6人,完全不会GO18人,50-14-6-18=12

question four

需要找到一个点,当小猴子拿香蕉时能拿最多的香蕉(<=50),这样它可以一次到家,不用再往返。 设Y为要求的香蕉最大剩余数,X为要求的那个点(X米),可以列出方程组:

  1. Y=(100-3X) – (50-X)
  2. (100-3X)<=50

很容易求出Y=16

question five

考虑4张A在牌中的位置,他们把其他牌分成了5份(四个点把 直线 分成五段),完全随机的情况下,每份的平均长度为48/5=9.6,摸完这9.6张后,接下来的就是第一张A, 故平均需要摸9.6+1=10.6张,即11张。

question six

这个题相当于变相的球5种不同颜色的球,两两组合,会有多少种组合。

两个球颜色不一样:C5中取2=10

两个球的颜色相同: C5中取1=5

因而有15种颜色组合。那么有16人的时候必然会有重复的!

如果你觉得我的 文章 对你有帮助话,欢迎关注我的 微信公众号 :" Java面试通关手册 "(一个有温度的微信公众号,无 广告 ,单纯技术分享,期待与你共同进步~~~坚持原创,分享美文,分享各种Java学习资源。)

面试中常见的几道智力题 来看看你会做几道(2)?

原文

https ://juejin.im/post/5b3a1b50e51d45555f56c1a6

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。 PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处: Harries Blog™ » 面试中常见的几道智力题 来看看你会做几道(2)?

作者:Harries Blog™
追心中的海,逐世界的梦

发表评论