9-10 京东笔试的简单理解—&mdash请指教

首先说一下题目吧。题目大意是给你N 个点,M条边的图。 其中需要将这些点分布成多个集合群。

这些集合要求 属于同一个集合的点互相不能连接,不同集合的点全部可以连接。。(这点很容易搞混)。

其中的一个测试例子如下:
2     //表示有两组数据
5 7   //5表示 接下有5个点,7表示7个边
1 3    // 1 到 3 有边
1 5    // ...
2 3
2 5
3 4
4 5
3 5
4 3    //4表示 4个点,3个边
1 2
2 3
3 4

图片说明
第二个例子比较直接就不分析了。 从第一个例子中可以看出 1 2 4 属于同一个集合, 3 、 5 分别属于一个集合。
并且集合中的点是没有连线的。好吧上边都是背景知识。。。我自己找到的规律是:
这个图用矩阵表示出来后是这样的:
0 0 1 0 1
0 0 1 0 1
1 1 0 1 1
0 0 1 0 1
1 1 1 1 0
从矩阵中可以看出: 1 2 4 的矩阵表示都 0 0 1 0 1. 是一样的。
我的理解是: 1 2 4 因为是同一个集合,所以他们的连接情况是一样,也就是矩阵表示是一致的。同时每一行中为0的元素表示它们之间没有连接,她们必定是属于一个集合的(而这些集合又是有一样的矩阵表达形式)。

所以问题转化为一个很简单的方式:从矩阵的第一行开始,找到第一行中为0的对应的哪一行进行比较,这两行是否一致。(因为如果为0,表示它们之间没有连接,是出于一个集合中不然就是矛盾。)。

举个例子。我遍历第一行 0 0 1 0 1,其中排除自己的第一个0,剩下两个0是 2 和 4 。那么我就用 第1行 和 第2行与 第4行进行比较,是否一致,不一致输出NO.遍历完全部一致那么输出Yes.

(1)首先这题我是AC的,感觉应该思路没问题。如果有问题请举出具体的反例。
(2)文笔不好见谅

#笔试题目##京东#
全部评论
其实,你这种找规律的思想,背后的数据结构是:并查集。
点赞 回复 分享
发布于 2018-09-10 10:38
只用遍历第一行吗?
点赞 回复 分享
发布于 2018-09-10 12:04
你好,请问你京东的职位申请上目前显示笔试做完了吗?为什么我昨天笔试过后,今天显示未笔试,好方😔
点赞 回复 分享
发布于 2018-09-10 11:18
我也是这么写的。。。不过不知道怎么证明
点赞 回复 分享
发布于 2018-09-10 11:12
优秀!
点赞 回复 分享
发布于 2018-09-10 11:06
简单易懂的方法
点赞 回复 分享
发布于 2018-09-10 10:40
666666
点赞 回复 分享
发布于 2018-09-10 10:22

相关推荐

rndguy:个人思路,抛砖引玉。 要我的话我先问清楚需求:要什么精度,什么速度,什么环境。 如果精度要求很低,平台也有点柔性的话,只需要输出pwm,然后开个中断记录各多少个脉冲,如果脉冲时间不对齐了就反馈控制电流加减就行。要求同步要求稍微高点的话可以在脉冲间做个线性插值,同步精度会高些。 但总体来说,如果直流有刷只有脉冲没有好的编码器的话很难做精准定位什么的(除非用一些电机磁路结构相关的奇技淫巧如高频注入什么的),所以要求更高就需要大量参数辨识和校准,那就慢多了。
点赞 评论 收藏
分享
皮格吉:不,有的厂子面试无手撕,可以试试。都是一边学一边面。哪有真正准备好的时候,别放弃
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务