Leetcode 149 Max Points on a Line
来源:互联网 发布:linux l2tp server 编辑:程序博客网 时间:2024/05/19 05:30
Given n points on a 2D plane, find the maximum number of points that lie on the same straight line.
给一个点集,判断在一条直线上的点最多有多少个。
枚举每一个点,算其他点和它的斜率,然后用一个unordered_map记录斜率出现的次数。
注意处理好分母为0,和两点重合的情况。
也是佩服discuss中的朋友,有人想到用hough transform做,
虽然在RHO大的情况下,这种算法并不能保证完全正确,只能求出近似解,不能完全通过这题,但是这个想法很好!
我只是提一下,不要当真,好好用正解做题。
/** * Definition for a point. * struct Point { * int x; * int y; * Point() : x(0), y(0) {} * Point(int a, int b) : x(a), y(b) {} * }; */class Solution {public: int maxPoints(vector<Point>& points) { unordered_map<double, int> mp; int res = 0; for(int i = 0; i < points.size(); i++) { int re = 0, temp = 0, resp = 0; for(int j = i+1; j < points.size(); j++) { if(points[i].x == points[j].x) { if(points[i].y == points[j].y) re++; else temp++; } else { double k = 1.0*(points[i].y - points[j].y)/(points[i].x - points[j].x); mp[k]++; resp = max(resp, mp[k]); } } res = max(res, max(resp, temp) + re + 1); mp.clear(); } return res; }};
1 0
- LeetCode(149)Max Points on a Line
- LeetCode: Max Points on a Line [149]
- LeetCode # 149 Max Points on a Line
- leetcode 149: Max Points on a Line
- Leetcode 149 Max Points on a Line
- LeetCode 149 Max Points on a Line
- Max Points on a Line | leetcode
- Max Points on a Line LEETCODE
- Leetcode: Max Points on a Line
- LeetCode - Max Points on a Line
- LeetCode 之 Max Points on a Line
- LeetCode | Max Points on a Line
- [LeetCode] Max Points on a Line
- Leetcode: Max Points on a Line
- LeetCode OJ:Max Points on a Line
- Leetcode Max Points on a Line
- Leetcode: Max Points on a Line .
- [Leetcode] Max Points on a Line (Java)
- HDOJ 1215 统计难题(字典树)
- 小店购物 JSOI2008 BZOJ 2260
- win7 64位机器xampp安装成功,打开localhost却显示IIS7的问题解决方案。
- Window Area_usaco 5.3
- JSON编码格式提交表单数据详解
- Leetcode 149 Max Points on a Line
- 案例一,查询网络图片
- Redis基础学习--脚本(Lua语言)
- Hibernate框架总结
- 世界Tree
- 遗传算法的入门实现(2):利用正方形拼接firefox
- python IOError: cannot identify image file
- Mybatis的mapper.xml文件详解
- eclipse 4.2.0的安装如何更改jdk环境变量(name=Eclipse Platform id=org.eclipse.platform version=4.2.0)