leetcode 149 —— Max Points on a Line
来源:互联网 发布:unity3d遮罩shader 编辑:程序博客网 时间:2024/05/20 17:09
Given n points on a 2D plane, find the maximum number of points that lie on the same straight line.
思路:因为一个float的类型转化折腾了好久
<pre name="code" class="cpp">float k = (float)(points[i].y - points[j].y) / (points[i].x - points[j].x); //对
<pre name="code" class="cpp">float k = float(points[i].y - points[j].y) / (points[i].x - points[j].x); //对
float k = float((points[i].y - points[j].y) / (points[i].x - points[j].x)); //错
<pre name="code" class="cpp">float k = (float)((points[i].y - points[j].y) / (points[i].x - points[j].x));//错
class Solution {public:int maxPoints(vector<Point>& points) {if (points.size() <= 2) return points.size();unordered_map<float, int> myHash;int maxNums = INT_MIN;for (int i = 0; i < points.size(); i++){myHash.clear();myHash[(float)INT_MAX] = 0;int samePoints = 1;for (int j = 0; j < points.size(); j++){if (i == j) continue; //同一个点if (points[i].x == points[j].x&&points[i].y == points[j].y){ //相同的点samePoints++;continue;}if (points[i].x == points[j].x){ //与y轴平行myHash[INT_MAX]++;}else{float k = (float)(points[i].y - points[j].y) / (points[i].x - points[j].x);//此处的类型转化,后面表达式一定不能带括号myHash[k]++;}}for (auto j = myHash.begin(); j != myHash.end(); ++j){int tmp = j->second + samePoints;maxNums = maxNums > tmp ? maxNums : tmp;}}return maxNums;}}a;
0 0
- LeetCode—Max Points on a Line
- leetcode 149 —— Max Points on a Line
- 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
- LeetCode——Max Points on a Line
- LeetCode——Max Points on a Line
- LeetCode—Max Points on a Line解题报告
- LeetCode149—Max Points on a Line
- LeetCode 149 — Max Points on a Line(C++ Java Python)
- 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
- 【Python学习笔记】-APP图标显示未读消息数目
- 【Java编程思想第4版错误记录】Collections.addAll()静态方法与Collection.addAll()成员方法
- 欢迎使用CSDN-markdown编辑器
- 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。
- 亚马逊AWS学习——VPC里面几个概念的关系
- leetcode 149 —— Max Points on a Line
- Course Schedule II
- margin:0 auto 与 text-align:center 的区别
- 自我总结 数据分析师必读
- Dialog显示View报错的问题
- 在Xcode中使用Git进行源码版本控制
- hdu2473 Junk-Mail Filter 并查集+删除节点+路径压缩
- 线程间通信问题学习
- Linux shell知多少