一道腾讯面试题

news/2024/7/21 7:44:04 标签: 面试, 腾讯

 给你10分钟时间,根据上排给出十个数,在其下排填出对应的十个数 

要求下排每个数都是先前上排那十个数在下排出现的次数。 

上排的十个数如下: 

0123456789

思考:首先两个最基本的隐含条件应该被发现。设上排十个数a[10],下排十个数b[10]

(1)      S1=b[0]+b[1]+b[2]+……b[9]=10;

(2)      S2=b[0]a[0]+b[1]a[1]+b[2]a[2]+……b[9]a[9]=10;

由(1)很容易知道,在b[5]~b[9]中有且只有1个数大于零,而且只能等于1,否则S1将大于10

假设1现在假设5下面的数即b[5]=1,则b[6]=b[7]=b[8]=b[9]=0,因为b[5]=1,则b[0]~b[4]中必定有一个b[x]=5。由条件(2),只能b[0]=5,否则S2>10。讨论到这里,大部分数据已经能够确定,如下表:

0

1

2

3

4

5

6

7

8

9

5

X1

X2

X3

X4

1

0

0

0

0

将上表中结果代入(1)(2)式中,得下面方程组

注意很重要的条件X1~X4中有且只有一个为0X1X2X3>=0(因为已经确定下排中有且只有50了,而b[6]~b[9]等于零)。

显然等式(3)不可能成立,因此也显然b[5]=1的假设不成立。

假设2同理假设b[6]=1,得到符合条件的b数组,如下

0

1

2

3

4

5

6

7

8

9

6

2

1

0

0

0

1

0

0

0

再继续往下推,凭人这智商,很容易就把其他情况都排除了。最终结果就是上表所列出来的。

 

总结规律:多推几个数就能总结规律,这里是参考网上资料才发现的。

a.        N-3下面的数总是10下面的数总是N-3

b.        2下面的数总是11下面的数总是2

c.        除此之外,其他的数都是0

当然前提是N>3N<3的情况就很容易了,还用得着规律吗?顺便发现,并不是所有的上排数都存在对应的下排数,如果存在,一定唯一。

 

当然,有兴趣的人可以试着用程序完成给定的功能,但人家可是只给了10分钟哦。


http://www.niftyadmin.cn/n/1093603.html

相关文章

Python3 列表、字典、元组、集合解析(推导式)各种写法

因为解析式的高效和简洁&#xff0c;所以这里记录下列表、字典、元组、集合解析的各种写法。 列表解析 通过[]或list()进行列表解析。 单层for循环 data [1, 2, 3, 4, 5, 6, 7]a [i for i in data] # 或者&#xff1a;a list(i for i in data)# 执行结果&#xff1a;[1,…

Lucene6入门教程(三)搜索和查询

要想实现搜索&#xff0c;就需要构建索引和搜索引擎这两个方面&#xff0c;上节已经实现目录的构建&#xff0c;那么&#xff0c;在&#xff08;三&#xff09;中&#xff0c;我们需要实现的便是搜索引擎的构建了。**&#xff08;一&#xff09;搜索构建的步骤如下&#xff1a;…

redis和memcached的区别(总结)

1、Redis和Memcache都是将数据存放在内存中&#xff0c;都是内存数据库。不过memcache还可用于缓存其他东西&#xff0c;例如图片、视频等等&#xff1b; 2、Redis不仅仅支持简单的k/v类型的数据&#xff0c;同时还提供list&#xff0c;set&#xff0c;hash等数据结构的存储&am…

数学之美—余弦定理在图像区域匹配上的使用

吴军博士在《数学之美》中提到了余弦定理在新闻分类中的用途&#xff0c;研究其它的领域&#xff0c;我们可以对其扩展。 余弦定理原式如下 其中A&#xff0c;B为2个多维向量。 这里想讨论其在图像的灰度匹配&#xff08;区域匹配&#xff09;中的用途。首先得解释一个名词——…

Python3 通过sorted函数实现对列表字典的排序

列表排序 列表排序有两种方法实现&#xff0c;一种是列表自带的sort()方法&#xff0c;即list.sort()&#xff0c;另一种则是通过sorted()进行排序。 sort()方法语法&#xff1a; list.sort(keyNone, reverseFalse) key -- 主要是用来进行比较的元素&#xff0c;只有一个参…

Lucene6入门教程(四)索引文件格式

Lucene6(四)索引文件格式 要想要理解Lucene6关键还是要对索引的文件格式有所理解的&#xff0c;这是因为&#xff0c;了解到索引文件的格式&#xff0c;有助于深入理解Lucene6的两大功能——索引&#xff08;全文搜索中倒排写成这个文件格式&#xff09;&#xff0c;搜索&#…

Lucene6入门教程(五)版本改变

版本变化&#xff1a; IndexWriterConfig 类的构造方法&#xff1b; Directory类的生成方法 FSDirectory.open()&#xff0c;(Path,File); Field类中的存储问题&#xff0c;Intpoint取代IntField&#xff1b; BooleanQuery() 的构造方法改变&#xff1b; PointValues 取代…

Python3 递归遍历目录和目录文件(查找并读取文件)

import osdef fn(path, tail2):key dict()for i in os.listdir(path):sub_path os.path.join(path, i)if os.path.isdir(sub_path): # 递归遍历子目录下文件及目录key.update({i: dict()}) # 父级标签key[i].update(fn(sub_path, tail2))elif os.path.isfile(sub_path): #…