leetcode难度级别_直线上最多的点数

leetcode难度级别_直线上最多的点数给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。示例 1:输入: [[1,1],[2,2],[3,3]]输出: 3解释:^|| o| o| o +————->0 1 2 3 4示例 2:输入: [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]输出: 4解释:^|| o| o o| o| o o+—–

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。

示例 1:

输入: [[1,1],[2,2],[3,3]]
输出: 3
解释:
^
|
|        o
|     o
|  o  
+------------->
0  1  2  3  4
示例 2:

输入: [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]
输出: 4
解释:
^
|
|  o
|     o        o
|        o
|  o        o
+------------------->
0  1  2  3  4  5  6
const double eps = 1e-10;
const int N = 1e3 + 10;
bool cmp(const double &a,const double &b){ 
   
    return abs(a - b) < eps;
}
struct Node{ 
   
    double k;
    Node(double _k){ 
   
        k = _k;
    }
    bool operator<(const Node &b)const{ 
   
        if(cmp(k,b.k))return false;
        else return k < b.k;
    }
};
class Solution { 
   
public:
    map<Node,int>m;
    int maxPoints(vector<vector<int>>& points) { 
   
        int ans = 0;
        int n = points.size();
        if(n == 1 || n == 0)return n;
        for(int i = 0;i < n;i ++){ 
   
            m.clear();
            int same = 0;
            for(int j = 0;j < n;j ++){ 
   
                if(j == i)continue;
                int x1 = points[i][0],y1 = points[i][1];
                int x2 = points[j][0],y2 = points[j][1];
                if(x1 == x2){ 
   
                    same ++;
                    continue;
                }
                Node t(double(y1 - y2) / (x1 - x2));
                if(m.find(t) == m.end())m[t] = 0;
                m[t] ++;
            }
            for(auto &a : m){ 
   
                ans = max(ans,a.second);
            }
            ans = max(ans,same);
        }
        return ans + 1;
    }
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168550.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • IOS应用开发-数据库创建「建议收藏」

    IOS应用开发-数据库创建

    2022年3月4日
    23
  • navicat for mysql注册码最新_navicat怎么激活注册

    navicat for mysql注册码最新_navicat怎么激活注册NavicatforMySQL注册码navicatformysql是一种开发和管理MySQL或MariaDB数据库的最佳软件工具;用户名和组织随意写。可用的注册码:NAVB-5NCL-FEL4-MUZGNAVP-MFTB-WKYK-RMXJNAVB-KTJB-D23X-QJTDNAVI-UQW3-AYAB-ISJDNAVF-SBDU-5QE7-2WZQ#NavicatforSQ…

    2022年10月13日
    0
  • 完美可用-DirectX修复工具增强版DirectX Repair

    完美可用-DirectX修复工具增强版DirectX RepairDirectX修复工具最新版:DirectXRepairV3.7增强版  NEW!版本号:V3.7.0.26539大小:107MB/7z格式压缩,189MB/zip格式压缩,322MB/解压后其他版本:标准版   在线修复版MD5校验码:DirectXRepair.exe/0615325098da4e624ef854af60b56ba2       DirectX_…

    2022年5月8日
    860
  • 新东方王强经典语录视频_新东方王强北大演讲视频

    新东方王强经典语录视频_新东方王强北大演讲视频王强老师是我最喜欢和尊敬的新东方老师之一,06年冬天,有幸王强老师到我所在的大学做演讲。其实,之前也看过很多王强老师演讲的视频,特摘录王强老师经典十条语录。王强老师语录一:中国人强调含蓄,我含一半,你蓄一半,剩下的就是我要表达的。我举个例子就知道了。比如说一首英文歌曲唱ILoveYou的。这抽象概念,英语表达得非常充满细节和逻辑,你不会觉得有歧义和想象…

    2022年9月13日
    0
  • 中图法中的分类号通常由哪两部分组成_北京航空航天大学排名

    中图法中的分类号通常由哪两部分组成_北京航空航天大学排名 V航空、航天   V1航空、航天技术的研究与探索     V11航空、航天的发展与空间探索     V19航空、航天的应用   V2航空     [V2-9]航空运输经济     V21基础理论及试验       V211空气动力学         V211.1理论空气动力学           V21

    2022年10月2日
    0
  • 织梦CMS系统中power by dedecms怎么去掉?power by dedecms什么意思?

    织梦CMS系统中power by dedecms怎么去掉?power by dedecms什么意思?织梦CMS近期的新版本至2013-6-7更新包以来,不管新版还是旧版更新补丁包,更新后网站页底都会出现powerbydedecms。powerbydedecms什么意思呢,那powerbydedecms怎么去掉呢,请大家看以下方法:一、powerbydedecms什么意思在我们上网的时候,会见到页面页底很多带powerbydedecms的网站,powerbyded…

    2022年7月13日
    13

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号