我的LeetCode代码仓:https://github.com/617076674/LeetCode
原题链接:https://leetcode-cn.com/problems/max-points-on-a-line/description/
题目描述:
知识点:哈希表、欧几里得最大公约数算法
思路:用分数形式存储直线的斜率,切勿忘记斜率不存在的情况
(1)新建一个长度为点的数量的数组count,用以保存对于每一个点i其斜率存在的情况下的直线的经过的最多的点数。
(2)首先设置一个外循环依次遍历所有的点,外循环变量记为i。每一次循环都新建一个哈希表用以记录与i点在同一条直线上的直线的斜率以及该斜率直线下点的个数。再新建一个变量same,用以记录与点i在坐标平面上位置相同的点j的数量。还得新建一个变量size,用以记录经过点i且垂直于x轴(即斜率不存在)的直线的情况。
(3)再设置一个内循环依次遍历所有的点,内循环变量记为j。
(4)如果遍历到的点满足i