最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

面试智力题19道

IT圈 admin 55浏览 0评论

2024年3月16日发(作者:柏亦云)

面试智力题19道

一些世界知名的企业在招聘时,可能会提供面试智力题,来筛选应聘者。以

下5个问题,据说在谷歌的面试中,都曾用到过。看看你能答对多少?以下是学

习啦小编为大家收集整理的面试智力题的全部内容了,仅供参考,欢迎阅读参考!

希望能够帮助到您。

1、考虑一个双人游戏。游戏在一个圆桌上进行。每个游戏者都有足够多的

硬币。他们需要在桌子上轮流放置硬币,每次必需且只能放置一枚硬币,要求硬

币完全置于桌面内(不能有一部分悬在桌子外面),并且不能与原来放过的硬币重

叠。谁没有地方放置新的硬币,谁就输了。游戏的先行者还是后行者有必胜策略?

这种策略是什么?

答案:先行者在桌子中心放置一枚硬币,以后的硬币总是放在与后行者刚才

放的地方相对称的位置。这样,只要后行者能放,先行者一定也有地方放。先行

者必胜。

2、 用线性时间和常数附加空间将一篇文章的单词(不是字符)倒序。

答案:先将整篇文章的所有字符逆序(从两头起不断交换位置相对称的字符);

然后用同样的办法将每个单词内部的字符逆序。这样,整篇文章的单词顺序颠倒

了,但单词本身又被转回来了。

3、 用线性时间和常数附加空间将一个长度为n的字符串向左循环移动m位

(例如,"abcdefg"移动3位就变成了"defgabc")。

答案:把字符串切成长为m和n-m的两半。将这两个部分分别逆序,再对整

个字符串逆序。

4、一个矩形蛋糕,蛋糕内部有一块矩形的空洞。只用一刀,如何将蛋糕切

成大小相等的两块?

答案:注意到平分矩形面积的线都经过矩形的中心。过大矩形和空心矩形各

自的中心画一条线,这条线显然把两个矩形都分成了一半,它们的差当然也是相

等的。

5、 一块矩形的巧克力,初始时由N x M个小块组成。每一次你只能把一块

1

巧克力掰成两个小矩形。最少需要几次才能把它们掰成N x M块1x1的小巧克

力?

答案:N x M - 1次显然足够了。这个数目也是必需的,因为每掰一次后当

前巧克力的块数只能增加一,把巧克力分成N x M块当然需要至少掰N x M - 1

次。

6、如何快速找出一个32位整数的二进制表达里有多少个"1"?用关于"1"的

个数的线性时间?

答案1:(关于数字位数线性):for(n=0; b; b >>= 1) if (b & 1) n++;

答案2:(关于"1"的个数线性):for(n=0; b; n++) b &= b-1;

7、 一个大小为N的数组,所有数都是不超过N-1的正整数。用O(N)的时

间找出重复的那个数(假设只有一个)。一个大小为N的数组,所有数都是不超过

N+1的正整数。用O(N)的时间找出没有出现过的那个数(假设只有一个)。

答案:计算数组中的所有数的和,再计算出从1到N-1的所有数的和,两者

之差即为重复的那个数。计算数组中的所有数的和,再计算出从1到N+1的所有

数的和,两者之差即为缺少的那个数。

8、 给出一行C语言表达式,判断给定的整数是否是一个2的幂。

答案:(b & (b-1)) == 0

9、地球上有多少个点,使得从该点出发向南走一英里,向东走一英里,再

向北走一英里之后恰好回到了起点?

答案:“北极点”是一个传统的答案,其实这个问题还有其它的答案。事实

上,满足要求的点有无穷多个。所有距离南极点1 + 1/(2π)英里的地方都是满

足要求的,向南走一英里后到达距离南极点1/(2π)的地方,向东走一英里后正

好绕行纬度圈一周,再向北走原路返回到起点。事实上,这仍然不是满足要求的

全部点。距离南极点1 + 1/(2kπ)的地方都是可以的,其中k可以是任意一个

正整数。

10、A、B两人分别在两座岛上。B生病了,A有B所需要的药。C有一艘小

船和一个可以上锁的箱子。C愿意在A和B之间运东西,但东西只能放在箱子里。

只要箱子没被上锁,C都会偷走箱子里的东西,不管箱子里有什么。如果A和B

各自有一把锁和只能开自己那把锁的钥匙,A应该如何把东西安全递交给B?

2

2024年3月16日发(作者:柏亦云)

面试智力题19道

一些世界知名的企业在招聘时,可能会提供面试智力题,来筛选应聘者。以

下5个问题,据说在谷歌的面试中,都曾用到过。看看你能答对多少?以下是学

习啦小编为大家收集整理的面试智力题的全部内容了,仅供参考,欢迎阅读参考!

希望能够帮助到您。

1、考虑一个双人游戏。游戏在一个圆桌上进行。每个游戏者都有足够多的

硬币。他们需要在桌子上轮流放置硬币,每次必需且只能放置一枚硬币,要求硬

币完全置于桌面内(不能有一部分悬在桌子外面),并且不能与原来放过的硬币重

叠。谁没有地方放置新的硬币,谁就输了。游戏的先行者还是后行者有必胜策略?

这种策略是什么?

答案:先行者在桌子中心放置一枚硬币,以后的硬币总是放在与后行者刚才

放的地方相对称的位置。这样,只要后行者能放,先行者一定也有地方放。先行

者必胜。

2、 用线性时间和常数附加空间将一篇文章的单词(不是字符)倒序。

答案:先将整篇文章的所有字符逆序(从两头起不断交换位置相对称的字符);

然后用同样的办法将每个单词内部的字符逆序。这样,整篇文章的单词顺序颠倒

了,但单词本身又被转回来了。

3、 用线性时间和常数附加空间将一个长度为n的字符串向左循环移动m位

(例如,"abcdefg"移动3位就变成了"defgabc")。

答案:把字符串切成长为m和n-m的两半。将这两个部分分别逆序,再对整

个字符串逆序。

4、一个矩形蛋糕,蛋糕内部有一块矩形的空洞。只用一刀,如何将蛋糕切

成大小相等的两块?

答案:注意到平分矩形面积的线都经过矩形的中心。过大矩形和空心矩形各

自的中心画一条线,这条线显然把两个矩形都分成了一半,它们的差当然也是相

等的。

5、 一块矩形的巧克力,初始时由N x M个小块组成。每一次你只能把一块

1

巧克力掰成两个小矩形。最少需要几次才能把它们掰成N x M块1x1的小巧克

力?

答案:N x M - 1次显然足够了。这个数目也是必需的,因为每掰一次后当

前巧克力的块数只能增加一,把巧克力分成N x M块当然需要至少掰N x M - 1

次。

6、如何快速找出一个32位整数的二进制表达里有多少个"1"?用关于"1"的

个数的线性时间?

答案1:(关于数字位数线性):for(n=0; b; b >>= 1) if (b & 1) n++;

答案2:(关于"1"的个数线性):for(n=0; b; n++) b &= b-1;

7、 一个大小为N的数组,所有数都是不超过N-1的正整数。用O(N)的时

间找出重复的那个数(假设只有一个)。一个大小为N的数组,所有数都是不超过

N+1的正整数。用O(N)的时间找出没有出现过的那个数(假设只有一个)。

答案:计算数组中的所有数的和,再计算出从1到N-1的所有数的和,两者

之差即为重复的那个数。计算数组中的所有数的和,再计算出从1到N+1的所有

数的和,两者之差即为缺少的那个数。

8、 给出一行C语言表达式,判断给定的整数是否是一个2的幂。

答案:(b & (b-1)) == 0

9、地球上有多少个点,使得从该点出发向南走一英里,向东走一英里,再

向北走一英里之后恰好回到了起点?

答案:“北极点”是一个传统的答案,其实这个问题还有其它的答案。事实

上,满足要求的点有无穷多个。所有距离南极点1 + 1/(2π)英里的地方都是满

足要求的,向南走一英里后到达距离南极点1/(2π)的地方,向东走一英里后正

好绕行纬度圈一周,再向北走原路返回到起点。事实上,这仍然不是满足要求的

全部点。距离南极点1 + 1/(2kπ)的地方都是可以的,其中k可以是任意一个

正整数。

10、A、B两人分别在两座岛上。B生病了,A有B所需要的药。C有一艘小

船和一个可以上锁的箱子。C愿意在A和B之间运东西,但东西只能放在箱子里。

只要箱子没被上锁,C都会偷走箱子里的东西,不管箱子里有什么。如果A和B

各自有一把锁和只能开自己那把锁的钥匙,A应该如何把东西安全递交给B?

2

发布评论

评论列表 (0)

  1. 暂无评论