【穷举】Max Points on a Line平面上共线的点

穷举的细节好多,之前做笔试题的时候,穷举题几乎没有全部AC的,好多细节考虑不到。。。。

题目:

找到平面上在一条直线上最多的点。如下例所示:

解题:

思路是这样的:从点1开始遍历,for i in range(len(point)-1),和for j in range(i+1,len(point)),计算point[i]和point[j]的斜率,为什么是i是到len-1呢,因为,最后一个数,后面没有了,倒数第二个数后面才有。注意:计算斜率的时候,要用分数的形式,求最大公约数然后化简,为啥呢,因为由于计算机精度的问题,小数会有误差。在遍历的时候注意,每次要把dic给清空,提取每次dic中的最大值,这一点很重要,注意啦注意啦!!!开始的时候没想到,想了半天才想到要清空,要不然都累加起来了,四个平行点,会给数成4+3+2个。还有一点需要注意的是,有可能有重复值,重复值就在每次遍历i的时候,加1就行,因为是以i为单位遍历的,重复值是对i的重复,直接加上面就行了。


对了还要注意一下,这个输入形式,是以class形式输入的


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 不得不说,中国的市场细分开始逐渐成长,从洗发水,到红糖,到毛巾,以及可以看到的各式各样的创业计划,风投和众筹项目。...
    Mia的小心情阅读 169评论 0 1
  • 代码1非felx:http://js.jirengu.com/dowum/13代码1flex:http://js....
    upup_dayday阅读 220评论 0 0
  • 俗话说得好:一年之计在于春。 在一年最有生机,最有活力,最有生命力的季节——春天中,一切又都将重获...
    4e002e570e1e阅读 362评论 0 1
  • 不知道男生是怎样,反正恋爱中的女生如果作,也只不过传达这样的信息:对我好一点再好一点呀。 想要早起时看到楼管大妈那...
    八月风阅读 318评论 0 0